qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Nathaniel McCallum <npmccallum@gentoo.org>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] QCow v2
Date: Mon, 03 Jul 2006 22:45:42 -0400	[thread overview]
Message-ID: <1151981142.5476.13.camel@localhost.localdomain> (raw)

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	other threads:[~2006-07-04  2:46 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-04  2:45 Nathaniel McCallum [this message]
2006-07-04  8:12 ` [Qemu-devel] QCow v2 Johannes Schindelin
2006-07-04  8:49 ` Raphaël Rigo
2006-07-04  9:23 ` Fabrice Bellard
2006-07-04 10:44   ` Christian MICHON
2006-07-04 10:57     ` Fabrice Bellard
2006-07-04 11:28       ` Julian Seward
2006-07-04 11:01     ` Johannes Schindelin
2006-07-04 11:13       ` Elefterios Stamatogiannakis
2006-07-04 13:51         ` Christian MICHON
2006-07-04 15:04           ` Natalia Portillo
2006-07-11 11:30             ` Christian MICHON
2006-07-11 17:43               ` André Braga
2006-07-04 11:14       ` Christian MICHON
2006-07-04 11:26         ` Fabrice Bellard
2006-07-04 12:13           ` Christian MICHON
2006-07-04 12:22             ` Fabrice Bellard
2006-07-04 13:03               ` Christian MICHON
2006-07-04 13:16                 ` Christian MICHON
2006-07-04 13:28                   ` Johannes Schindelin
2006-07-04 13:01   ` Nathaniel McCallum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1151981142.5476.13.camel@localhost.localdomain \
    --to=npmccallum@gentoo.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).