From: Cole Robinson Date: Fri, 4 Oct 2019 22:12:14 +0000 (-0400) Subject: storagefile: Check version to determine if qcow2 or not X-Git-Tag: v5.9.0-rc1~303 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=253f2cae4a3e42ec67d9ae6347cc5bafcf71a064;p=thirdparty%2Flibvirt.git storagefile: Check version to determine if qcow2 or not Rather than require a boolean to be passed in Reviewed-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik Signed-off-by: Cole Robinson --- diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 905e70b1a9..9bf4c1178b 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -486,7 +486,7 @@ qcowXGetBackingStore(char **res, int *format, const char *buf, size_t buf_size, - bool isQCow2) + bool isQCow2 ATTRIBUTE_UNUSED) { unsigned long long offset; unsigned int size; @@ -548,8 +548,11 @@ qcowXGetBackingStore(char **res, * for qcow2 v3 images, the length of the header * is stored at QCOW2v3_HDR_SIZE */ - if (isQCow2) { - version = virReadBufInt32BE(buf + QCOWX_HDR_VERSION); + + version = virReadBufInt32BE(buf + QCOWX_HDR_VERSION); + if (version >= 2) { + /* QCow1 doesn't have the extensions capability + * used to store backing format */ if (version == 2) start = QCOW2_HDR_TOTAL_SIZE; else @@ -569,8 +572,6 @@ qcow1GetBackingStore(char **res, const char *buf, size_t buf_size) { - /* QCow1 doesn't have the extensions capability - * used to store backing format */ return qcowXGetBackingStore(res, format, buf, buf_size, false); }