qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] QCow v2


From: Nathaniel McCallum
Subject: [Qemu-devel] QCow v2
Date: Mon, 03 Jul 2006 22:45:42 -0400

Mark's notes on the qcow format got me to thinking how useful it would
be to be able to store other information in the qcow image itself.  For
instance you could store the configuration for the virtual machine in
the image which could be extracted and then start the virtual machine.

So... I'm proposing that the qcow image be extended to support this
scenario.  Something as simple as:

  typedef struct QCowHeader {
      uint32_t magic;
      uint32_t version;

      uint8_t  embedded_data_type;
      uint64_t embedded_data_offset;
      uint32_t embedded_data_size;
      uint32_t mtime;

      uint64_t size;

      uint8_t  cluster_bits;
      uint8_t  l2_bits;
      uint32_t crypt_method;

      uint64_t l1_table_offset;
  } QCowHeader;

Thus, embedded_data_type is a constant signifying the type of the data.
embedded_data_type could be a string, etc.  Of course, there are a million
other ways this could be implemented.  The idea being that we could store
more than just backing store.

One possible application could be that you could store config info in
the image and have a qemu-loader app that extracts the info and starts
the virtual machine.  Another application could be just misc. metadata:
copyright, contact info, VM version, etc...

I can provide a patch to block-qcow.c if there is interest.

Nathaniel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]