]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuBlockStorageSourceCreateGetFormatPropsQcow2: Add support for 'extended-l2' feature
authorPeter Krempa <pkrempa@redhat.com>
Thu, 16 Dec 2021 11:46:51 +0000 (12:46 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 21 Dec 2021 12:23:09 +0000 (13:23 +0100)
Allow creating the qcow2 with the new subcluster format if required.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_block.c

index 87dca4017920f844f32923be7822441d786a9483..bff93e96eeb25f580b89e7ab975fa6ccf39ca916 100644 (file)
@@ -2441,18 +2441,23 @@ qemuBlockStorageSourceCreateGetFormatPropsQcow2(virStorageSource *src,
 {
     g_autoptr(virJSONValue) qcow2props = NULL;
     const char *qcow2version = NULL;
+    bool extendedL2 = false;
 
     if (STREQ_NULLABLE(src->compat, "0.10"))
         qcow2version = "v2";
     else if (STREQ_NULLABLE(src->compat, "1.1"))
         qcow2version = "v3";
 
+    if (src->features)
+        extendedL2 = virBitmapIsBitSet(src->features, VIR_STORAGE_FILE_FEATURE_EXTENDED_L2);
+
     if (virJSONValueObjectAdd(&qcow2props,
                               "s:driver", "qcow2",
                               "s:file", src->nodestorage,
                               "U:size", src->capacity,
                               "S:version", qcow2version,
                               "P:cluster-size", src->clusterSize,
+                              "B:extended-l2", extendedL2,
                               NULL) < 0)
         return -1;