From: Corey Bryant <bryntcor@us.ibm.com>
To: Eric Blake <eblake@redhat.com>
Cc: libvir-list@redhat.com, Anthony Liguori <aliguori@us.ibm.com>,
qemu-devel@nongnu.org, Tyler C Hicks <tchicks@us.ibm.com>
Subject: Re: [Qemu-devel] [libvirt] [PATCH v2] Add support for fd: protocol
Date: Tue, 14 Jun 2011 17:39:30 -0400 [thread overview]
Message-ID: <4DF7D512.5010909@us.ibm.com> (raw)
In-Reply-To: <4DF7C206.2000901@redhat.com>
On 06/14/2011 04:18 PM, Eric Blake wrote:
> On 06/14/2011 01:55 PM, Corey Bryant wrote:
>>> >> So we would need something like -drive
>>> >> file=fd:4,format=qcow2,backing=fd:5
>>> >>
>>> >> and since backing files can be nested, we'd need some way of specifying
>>> >> more than one level of backing file. Libvirt already knows how to walk
>>> >> a chain of backing images in qcow2 files (it has to, in order to set
>>> >> sVirt SELinux permissions on all of those files so that qemu can open()
>>> >> each file), so it wouldn't be much harder for libvirt to instead do the
>>> >> open() and pass each fd.
>>> >>
>> > Right. So what I was talking about here (and poorly stated) is that
>> > starting Qemu with a copy-on-write image file causes a reopen of the
>> > backing file. In this case you would only be passing the fd of the
>> > copy-on-write file to Qemu. I've fenced that off as unsupported for now.
>> >
>> > I like your approach for passing multiple fds. Do you think backing file
>> > support is needed immediately with this patch?
> Incremental support is fine by me, but we'll need it sooner or later.
> And for the nested backing file case, does:
>
> -drive file=fd:4,format=qcow2,backing=fd:5,backing=fd:6
>
> work, or would we need:
>
> -drive file=fd:4,format=qcow2,backing1=fd:5,backing2=fd:6
>
> That is, can you have more than one backing=, or do you need distinct
> backingN=, and if you have to support multiple N, we must make sure the
> solution allows arbitrarily deep nesting (or at least as deep as any
> current limits qemu places on qcow2 backing file nesting).
Qemu currently opens the specified copy-on-write file, finds a backing
file name in the opened file's header, opens that backing file, and repeats.
So it seems that either a backingN= would be needed or a way to map a
file descriptor to the file name in the header.
I think the latter is along the lines of what was discussed here with
-blockdev:
http://lists.gnu.org/archive/html/qemu-devel/2011-05/msg02417.html
Repeating the syntax specified in that thread, you'd have:
-blockdev id=foo-base,path=fd:4,format=raw
-blockdev id=foo,path=fd:3,format=qcow2,backing_file=foo-base
where id is the file name. This chains the backing files on the command
line.
Corey
next prev parent reply other threads:[~2011-06-14 21:40 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-14 13:31 [Qemu-devel] [PATCH v2] Add support for fd: protocol Corey Bryant
2011-06-14 16:13 ` [Qemu-devel] [libvirt] " Eric Blake
2011-06-14 19:55 ` Corey Bryant
2011-06-14 20:18 ` Eric Blake
2011-06-14 21:39 ` Corey Bryant [this message]
2011-06-14 21:52 ` Eric Blake
2011-06-15 19:12 ` [Qemu-devel] " Blue Swirl
2011-06-16 14:48 ` Corey Bryant
2011-06-18 20:50 ` Blue Swirl
2011-06-20 13:08 ` Corey Bryant
2011-06-20 13:40 ` Avi Kivity
2011-06-20 13:50 ` Anthony Liguori
2011-06-20 17:35 ` Avi Kivity
2011-06-20 19:11 ` Anthony Liguori
2011-06-21 8:21 ` Avi Kivity
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=4DF7D512.5010909@us.ibm.com \
--to=bryntcor@us.ibm.com \
--cc=aliguori@us.ibm.com \
--cc=eblake@redhat.com \
--cc=libvir-list@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=tchicks@us.ibm.com \
/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).