[libvirt] [Qemu-devel] [PATCH v2] Add support for fd: protocol

Anthony Liguori anthony at codemonkey.ws
Mon Jun 20 13:50:34 UTC 2011


On 06/20/2011 08:40 AM, Avi Kivity wrote:
> On 06/14/2011 04:31 PM, Corey Bryant wrote:
>> - Starting Qemu with a backing file
>>
>
> For this we could tell qemu that a file named "xyz" is available via fd
> n, via an extension of the getfd command.
>
> For example
>
> (qemu) getfd path="/images/my-image.img"
> (qemu) getfd path="/images/template.img"
> (qemu) drive-add path="/images/my-image.img"
>
> The open() for my-image.img first looks up the name in the getfd
> database, and finds it, so it returns the fd from there instead of
> opening. It then opens the backing file ("template.img") and looks it up
> again, and finds the second fd from the session.

The way I've been thinking about this is:

  -blockdev id=hd0-back,file=fd:4,format=raw \
  -blockdev file=fd:3,format=qcow2,backing=hd0-back

While your proposal is clever, it makes me a little nervous about subtle 
security ramifications.

Regards,

Anthony Liguori

>
> The result is that open()s are satisfied from the monitor, instead of
> the host kernel, but without reversing the request/reply nature of the
> monitor protocol.
>
> A similar extension could be added to the command line:
>
> qemu -drive file=fd:4,cache=none -path-alias
> name=/images/template.img,path=fd:5
>
> Here the main image is opened via a fd 4; if it needs template.img, it
> gets shunted to fd 5.
>




More information about the libvir-list mailing list