On 10/13/2012 03:59 PM, Eric Blake wrote:
> When an image has no backing file, using VIR_STORAGE_FILE_AUTO
> for its type is a bit confusing.  Additionally, a future patch
> would like to reserve a default value for the case of no file
> type specified in the XML, but different from the current use
> of -1 to imply probing, since probing is not always safe.
> 
> Also, a couple of file types were missing compared to supported
> code: libxl supports 'vhd', and qemu supports 'fat' for directories
> passed through as a file system.
> 
> +++ b/src/util/storage_file.c

> @@ -335,8 +351,12 @@ qcowXGetBackingStore(char **res,
>       * between the end of the header (QCOW2_HDR_TOTAL_SIZE)
>       * and the start of the backingStoreName (offset)
>       */
> -    if (isQCow2 && format)
> -        qcow2GetBackingStoreFormat(format, buf, buf_size, 
> QCOW2_HDR_TOTAL_SIZE, offset);
> +    if (isQCow2 && format) {
> +        qcow2GetBackingStoreFormat(format, buf, buf_size, 
> QCOW2_HDR_TOTAL_SIZE,
> +                                   offset);
> +        if (*format <= VIR_STORAGE_FILE_NONE)
> +            return BACKING_STORE_INVALID;
> +    }

This breaks the case where a qcow2 file has a backing file but did not
specify a format, and libvirt is set to allow probing (for example, if
you use 'qemu-img rebase -u -b blah file' without '-F format').  I'm
working on a fix.

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

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to