On 04/12/2013 02:48 PM, Kevin Wolf wrote:
> If a filename is passed in the driver-specific options from the command
> line, the backing file path from the image is ignored now.
> 
> Signed-off-by: Kevin Wolf <kw...@redhat.com>
> ---
>  block.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/block.c b/block.c
> index c2d1d2d..3a45c2a 100644
> --- a/block.c
> +++ b/block.c
> @@ -889,7 +889,9 @@ int bdrv_open_backing_file(BlockDriverState *bs, QDict 
> *options)
>      }
>  
>      bs->open_flags &= ~BDRV_O_NO_BACKING;
> -    if (bs->backing_file[0] == '\0' && qdict_size(options) == 0) {
> +    if (qdict_haskey(options, "file.filename")) {
> +        backing_filename[0] = '\0';
> +    } else if (bs->backing_file[0] == '\0' && qdict_size(options) == 0) {

Of course, the user can abuse this at their peril, but the flexibility
it adds (being able to pass in a /dev/fdset to let the command line
specify an open fd as backing file even when open() is forbidden on NFS)
is just AWESOME!

Looking forward to a QMP counterpart; I'll definitely review that, as
libvirt is still reluctant to use fdsets for image manipulation on the
command line if we can't follow it up with hot-plug manipulation, but I
love where this is heading.

Reviewed-by: Eric Blake <ebl...@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to