[PATCH 7/7] qemuBlockStorageSourceCreateDetectSize: Propagate 'extended_l2' feature to new overlays
Peter Krempa
pkrempa at redhat.com
Fri Dec 17 15:04:35 UTC 2021
In cases where the qcow2 image is using subclusters/extended_l2 entries
we should propagate them to the new images which are based on such
images.
Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
src/qemu/qemu_block.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
index bff93e96ee..2e606e99b4 100644
--- a/src/qemu/qemu_block.c
+++ b/src/qemu/qemu_block.c
@@ -2941,11 +2941,18 @@ qemuBlockStorageSourceCreateDetectSize(GHashTable *blockNamedNodeData,
return -1;
}
- /* propagate cluster size if the images are compatible */
+ /* propagate properties of qcow2 images if possible*/
if (templ->format == VIR_STORAGE_FILE_QCOW2 &&
- src->format == VIR_STORAGE_FILE_QCOW2 &&
- src->clusterSize == 0)
- src->clusterSize = entry->clusterSize;
+ src->format == VIR_STORAGE_FILE_QCOW2) {
+ if (src->clusterSize == 0)
+ src->clusterSize = entry->clusterSize;
+
+ if (entry->qcow2extendedL2) {
+ if (!src->features)
+ src->features = virBitmapNew(VIR_STORAGE_FILE_FEATURE_LAST);
+ ignore_value(virBitmapSetBit(src->features, VIR_STORAGE_FILE_FEATURE_EXTENDED_L2));
+ }
+ }
if (src->format == VIR_STORAGE_FILE_RAW) {
src->physical = entry->capacity;
--
2.31.1
More information about the libvir-list
mailing list