]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuBlockStorageSourceDetachPrepare: Prepare for possibly missing 'format' layer
authorPeter Krempa <pkrempa@redhat.com>
Fri, 3 Nov 2023 13:29:00 +0000 (14:29 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 27 Nov 2023 09:14:20 +0000 (10:14 +0100)
Setup the data for detaching of the 'format' layer only when it's
present.

Restructure the logic to follow the same order as
qemuBlockStorageSourceAttachPrepareBlockdev in terms of
format/slice/storage -blockdev objects, and drop the now-misleading
comment for 'slice' of raw disks.

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

index 9d8b3012c7028b0323d46c3396ffa21d701d68b4..1eb55315ae810e65dc7b5828aa7e87ce7664b99d 100644 (file)
@@ -1771,14 +1771,15 @@ qemuBlockStorageSourceDetachPrepare(virStorageSource *src)
 
     data = g_new0(qemuBlockStorageSourceAttachData, 1);
 
-    data->formatNodeName = qemuBlockStorageSourceGetFormatNodename(src);
-    data->formatAttached = true;
-    data->storageNodeName = qemuBlockStorageSourceGetStorageNodename(src);
-    data->storageAttached = true;
+    if ((data->formatNodeName = qemuBlockStorageSourceGetFormatNodename(src)))
+        data->formatAttached = true;
 
     if ((data->storageSliceNodeName = qemuBlockStorageSourceGetSliceNodename(src)))
         data->storageSliceAttached = true;
 
+    data->storageNodeName = qemuBlockStorageSourceGetStorageNodename(src);
+    data->storageAttached = true;
+
     if (src->pr &&
         !virStoragePRDefIsManaged(src->pr))
         data->prmgrAlias = g_strdup(src->pr->mgralias);