[libvirt] [PATCH 05/30] storagefile: Check version to determine if qcow2 or not

Cole Robinson crobinso at redhat.com
Mon Oct 7 21:49:19 UTC 2019


Rather than require a boolean to be passed in

Signed-off-by: Cole Robinson <crobinso at redhat.com>
---
 src/util/virstoragefile.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

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);
 }
 
-- 
2.23.0




More information about the libvir-list mailing list