<clusterSize unit='KiB'>64</clusterSize>
<features>
<lazy_refcounts/>
+ <extended_l2/>
</features>
</target>
- ``<lazy_refcounts/>`` - allow delayed reference counter updates.
:since:`Since 1.1.0`
+ - ``<extended_l2/>`` - enables subcluster allocation for qcow2 images. QCOW2
+ clusters are split into 32 subclusters decreasing the size of L2 cache
+ needed. It's recommended to increase ``clusterSize``.
Backing store elements
~~~~~~~~~~~~~~~~~~~~~~
<empty/>
</element>
</optional>
+ <optional>
+ <element name="extended_l2">
+ <empty/>
+ </element>
+ </optional>
</interleave>
</element>
</define>
VIR_ENUM_IMPL(virStorageFileFeature,
VIR_STORAGE_FILE_FEATURE_LAST,
"lazy_refcounts",
+ "extended_l2",
);
typedef enum {
VIR_STORAGE_FILE_FEATURE_LAZY_REFCOUNTS = 0,
+ VIR_STORAGE_FILE_FEATURE_EXTENDED_L2,
VIR_STORAGE_FILE_FEATURE_LAST
} virStorageFileFeature;
}
virBufferAddLit(&buf, "lazy_refcounts,");
}
+
+ if (virBitmapIsBitSet(info->features,
+ VIR_STORAGE_FILE_FEATURE_EXTENDED_L2)) {
+ if (STREQ_NULLABLE(info->compat, "0.10")) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("'extended_l2' not supported with compat level %s"),
+ info->compat);
+ return -1;
+ }
+ virBufferAddLit(&buf, "extended_l2=on,");
+ }
}
virBufferTrim(&buf, ",");
qemu-img \
create \
-f qcow2 \
--o compat=0.10,cluster_size=131072 \
+-o compat=1.1,cluster_size=131072,extended_l2=on \
/var/lib/libvirt/images/OtherDemo.img \
5242880K
<label>unconfined_u:object_r:virt_image_t:s0</label>
</permissions>
<clusterSize unit='KiB'>128</clusterSize>
+ <features>
+ <extended_l2/>
+ </features>
</target>
</volume>
<group>0</group>
<label>unconfined_u:object_r:virt_image_t:s0</label>
</permissions>
+ <compat>1.1</compat>
<clusterSize unit='B'>131072</clusterSize>
+ <features>
+ <extended_l2/>
+ </features>
</target>
</volume>