[libvirt] [PATCH] storage: Small file probing fixup

Peter Krempa pkrempa at redhat.com
Mon Jun 10 09:25:06 UTC 2013


On 06/10/13 09:58, Martin Kletzander wrote:
> Fallback to possible storage format after nothing else than magic has
> matched, since this is likely theformat user wants even though we
> don't know any better.
>
> Also fix a comment which wasn't very clear about what "skip" meant.
>
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=836676
>
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
>   src/util/virstoragefile.c | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
> index b985df4..b083530 100644
> --- a/src/util/virstoragefile.c
> +++ b/src/util/virstoragefile.c
> @@ -79,7 +79,8 @@ struct FileTypeInfo {
>       enum lv_endian endian; /* Endianness of file format */
>       int versionOffset;    /* Byte offset from start of file
>                              * where we find version number,
> -                           * -1 to skip version test */
> +                           * -1 to fail version test,

"always fail the version test" perhaps?

> +                           * -2 to pass version test */
>       int versionNumber;    /* Version number to validate */
>       int sizeOffset;       /* Byte offset from start of file
>                              * where we find capacity info,

ACK to this hunk.

> @@ -662,6 +663,10 @@ virStorageFileProbeFormatFromBuf(const char *path,
>           }
>       }
>
> +    if (format == VIR_STORAGE_FILE_RAW &&
> +        possibleFormat != VIR_STORAGE_FILE_RAW)
> +        format = possibleFormat;
> +

I don't think we should do this. If a version check is required for a 
format we should honor this and return this as a raw image instead of 
masking it with a possible match.

>   cleanup:
>       VIR_DEBUG("format=%d", format);
>       return format;
>

Peter




More information about the libvir-list mailing list