qemuBlockStorageSourceCreateDetectSize: Propagate 'extended_l2' feature to new overlays

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@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-12-16 18:35:34 +01:00
parent 3275be238c
commit 4273b74b82

View File

@ -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;