]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: block: Introduce helper for deciding when a 'format' layer is needed
authorPeter Krempa <pkrempa@redhat.com>
Thu, 19 Oct 2023 20:07:49 +0000 (22:07 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 27 Nov 2023 09:14:20 +0000 (10:14 +0100)
The 'format' layer is not required in certain cases. As the logic for
this will be a bit more involved create a helper function to do the
decision.

For now we'll keep to always format the 'format' -blockdev layer.

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

index 14c020894fa2f83cc72aad4f52527dd312ecbf10..2a432c8d1d6e7af1492ebc6599ef5efc4c34f664 100644 (file)
@@ -3291,6 +3291,25 @@ qemuBlockStorageSourceNeedsStorageSliceLayer(const virStorageSource *src)
 }
 
 
+/**
+ * qemuBlockStorageSourceNeedsFormatLayer:
+ * @src: storage source
+ *
+ * Returns true if configuration of @src requires a 'format' layer -blockdev.
+ *
+ * Important: This helper must be used only for decisions when setting up a
+ * '-blockdev' backend in which case the format layer node name will be populated.
+ * Any cases when the backend can be already in use must decide based on the
+ * existence of the format layer nodename.
+ */
+bool
+qemuBlockStorageSourceNeedsFormatLayer(const virStorageSource *src G_GNUC_UNUSED)
+{
+    /* Currently we always create a 'format' layer */
+    return true;
+}
+
+
 /**
  * qemuBlockStorageSourceGetCookieString:
  * @src: storage source
index 85616a140d9a09924810da99b2d642cd2252d132..dcd8a6ed6c7049b23a9bda2c61035eddcb48e0be 100644 (file)
@@ -280,6 +280,9 @@ qemuBlockReopenReadOnly(virDomainObj *vm,
 bool
 qemuBlockStorageSourceNeedsStorageSliceLayer(const virStorageSource *src);
 
+bool
+qemuBlockStorageSourceNeedsFormatLayer(const virStorageSource *src);
+
 char *
 qemuBlockStorageSourceGetCookieString(virStorageSource *src);