All of lore.kernel.org
 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 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.