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(a)redhat.com>
---
src/qemu/qemu_block.c | 19 +++++++++++++++++++
src/qemu/qemu_block.h | 3 +++
2 files changed, 22 insertions(+)
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
index 1a718ae82b..123e764e63 100644
--- a/src/qemu/qemu_block.c
+++ b/src/qemu/qemu_block.c
@@ -3281,6 +3281,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
diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h
index 85616a140d..dcd8a6ed6c 100644
--- a/src/qemu/qemu_block.h
+++ b/src/qemu/qemu_block.h
@@ -280,6 +280,9 @@ qemuBlockReopenReadOnly(virDomainObj *vm,
bool
qemuBlockStorageSourceNeedsStorageSliceLayer(const virStorageSource *src);
+bool
+qemuBlockStorageSourceNeedsFormatLayer(const virStorageSource *src);
+
char *
qemuBlockStorageSourceGetCookieString(virStorageSource *src);
--
2.42.0