From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] qcow3 - arbitrary metadata
Date: Mon, 28 Jul 2008 15:50:30 -0500 [thread overview]
Message-ID: <488E3116.9030809@codemonkey.ws> (raw)
In-Reply-To: <a38baa500807281324h7b1a0cc4ide06a589277052f8@mail.gmail.com>
Nathaniel McCallum wrote:
> On Mon, Jul 28, 2008 at 4:08 PM, Anthony Liguori
> <anthony@codemonkey.ws <mailto:anthony@codemonkey.ws>> wrote:
>
> Nathaniel McCallum wrote:
>
> A project I'm working on requires the ability to store
> arbitrary metadata in the VM disk image. Thus, here is a
> patch that implements that as qcow3. It basically replaces
> the header.backing_store_{offset|size} with
> header.metadata_{offset|size}. Metadata is then defined as
> NULL-byte separated 'key:value' pairs. The attached qcow3
> then stores the backing file as
> 'Backing-File:/home/me/backing_file.img' in the metadata
> section. I've included two patches. One is the full patch
> against the latest SVN (qcow3.patch). The second patch is
> just the diff between qcow2.c and qcow3.c so that you can
> easily see the changes.
>
>
> Can you provide more information about what the metadata is used
> for and why it's so important for the metadata to be in the image
> verses in a separate file?
>
>
> Ease of use primarily. Take the case of a VM appliance. I would
> build a VM appliance and in the metadata I would put:
> 1. My company's logo (which would show up as the icon on the file in
> any file browser)
> 2. All the correct config for how to make the VM implementation start
> this image
> 3. A first-run startup message with instructions
> 4. A click-through license agreement
>
> The user would download and double-click a single file and the VM
> would start up, ask me to agree to a license, provide me the
> instructions on how to begin and just start running.
>
> I could put all this in a separate file, but then the user would have
> to unzip it and how does the emulation platform know what to do, etc...
>
>
>
> There are other possible ways of doing this that are less
> invasive. For instance, you could have a fake snapshot in the
> image that just contained your key values pairs.
>
> Introducing a whole new format is a pretty big change especially
> since you're duplicating a ton of code.
>
>
> I agree, a less invasive way would be preferred. However, how would
> you create a hidden snapshot (so that qemu doesn't try to load it)?
> Perhaps modify qemu to ignore snapshots named ".hidden"?
Something that would be pretty interesting, but also terribly hacky,
would be to have an option that would allow one to use a disk with an
offset. For instance:
qemu-system-x86_64 -drive file=foo.img,offset=4096,if=ide
Then you could have whatever stuff you wanted in the first 4096 of the
disk image.
Regards,
Anthony Liguori
> Nathaniel
>
next prev parent reply other threads:[~2008-07-28 20:51 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-28 19:56 [Qemu-devel] [PATCH] qcow3 - arbitrary metadata Nathaniel McCallum
2008-07-28 20:08 ` Anthony Liguori
2008-07-28 20:24 ` Nathaniel McCallum
2008-07-28 20:36 ` Paul Brook
2008-07-28 20:52 ` Anthony Liguori
2008-07-28 20:50 ` Anthony Liguori [this message]
2008-07-28 21:12 ` Nathaniel McCallum
2008-07-28 21:17 ` Anthony Liguori
2008-07-28 21:19 ` Nathaniel McCallum
2008-07-28 21:39 ` Anthony Liguori
2008-07-29 1:49 ` Jamie Lokier
2008-07-29 2:11 ` Jorge Lucángeli Obes
2008-07-29 2:48 ` Nathaniel McCallum
2008-07-29 3:05 ` Jorge Lucángeli Obes
2008-07-29 3:13 ` Anthony Liguori
2008-07-29 6:44 ` Jamie Lokier
2008-07-29 13:38 ` Anthony Liguori
2008-07-29 16:05 ` Jamie Lokier
2008-07-29 8:48 ` Daniel P. Berrange
2008-07-28 23:04 ` Laurent Vivier
2008-07-29 1:25 ` Nathaniel McCallum
2008-07-29 3:06 ` Anthony Liguori
2008-07-29 3:22 ` Nathaniel McCallum
2008-07-29 6:40 ` maht
2008-07-29 6:44 ` maht
2008-07-29 7:48 ` Laurent Vivier
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=488E3116.9030809@codemonkey.ws \
--to=anthony@codemonkey.ws \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.