On 07/20/11 15:46, Eric Blake wrote:
On 07/20/2011 07:25 AM, Jes Sorensen wrote:
>> I think if libvirt wants qemu to use an fd instead of a file name, it
>> shouldn't pass a file name but an fd in the first place. Which means
>> that the two that we need are support for an fd: protocol (patches on
>> the list, need review), and a way for libvirt to override the backing
>> file of an image.
>
> The problem is that QEMU will find backing file file names inside the
> images which it will be unable to open. How do you suggest we get around
> that?
We've already told you - qemu must have a way to be passed fds which are
associated with names, and when a file refers to another backing file by
name, then qemu falls back on its fd/name mapping to use the
already-passed fd instead. Which implies that someone else, either
libvirt or a qemu-maintained libblockformat.so, needs to have a stable
interface for parsing the backing file name out of an arbitrary qcow2
file, and that this interface must work no matter how many other
extensions are added to qcow2.
As I replied to you earlier, libvirt is *not* allowed to be messing with
internals of image files! Passing in backing file fds as a result of
libvirt messing around in internals of the image headers is utterly
broken and is not going to happen!
Jes