From: Peter Krempa Date: Thu, 19 Oct 2023 20:07:49 +0000 (+0200) Subject: qemu: block: Introduce helper for deciding when a 'format' layer is needed X-Git-Tag: v9.10.0-rc1~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7f19a55a9e8ceb111be89d22e4ac2e7fe34ff41d;p=thirdparty%2Flibvirt.git qemu: block: Introduce helper for deciding when a 'format' layer is needed 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 Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 14c020894f..2a432c8d1d 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -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 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);