qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).