[PATCH 33/36] qemu: driver: Don't allow certain operations with FD-passed disks
Pavel Hrdina
phrdina at redhat.com
Fri Jan 6 13:48:22 UTC 2023
On Thu, Jan 05, 2023 at 05:30:22PM +0100, Peter Krempa wrote:
> Probing stats and block copy to a FD passed image is not yet supported.
>
> Signed-off-by: Peter Krempa <pkrempa at redhat.com>
> ---
> src/qemu/qemu_driver.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index c086d4069b..4df7f42ae4 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -10499,6 +10499,13 @@ qemuDomainBlockPeek(virDomainPtr dom,
> goto cleanup;
> }
>
> + if (virStorageSourceIsFD(disk->src)) {
> + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> + _("peeking is not supported for FD-passed images"));
s/FD-passed/FD passed/
> + goto cleanup;
> +
> + }
> +
> if (qemuDomainStorageFileInit(driver, vm, disk->src, NULL) < 0)
> goto cleanup;
>
> @@ -10858,6 +10865,12 @@ qemuDomainGetBlockInfo(virDomainPtr dom,
> goto endjob;
> }
>
> + if (virStorageSourceIsFD(disk->src)) {
> + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
> + _("block info is not supported for fd-passed disk image"));
s/fd-passed/FD passed/
> + goto endjob;
> + }
> +
> /* for inactive domains we have to peek into the files */
> if (!virDomainObjIsActive(vm)) {
> if ((qemuStorageLimitsRefresh(driver, cfg, vm, disk->src, false)) < 0)
> @@ -14689,6 +14702,12 @@ qemuDomainBlockCopyCommon(virDomainObj *vm,
> if (!qemuDomainDiskBlockJobIsSupported(disk))
> goto endjob;
>
> + if (virStorageSourceIsFD(mirror)) {
> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> + _("copy to a FD passed disk source is not yet supported"));
> + goto endjob;
> + }
> +
> if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN &&
> virDomainDiskDefSourceLUNValidate(mirror) < 0)
> goto endjob;
> @@ -17942,6 +17961,9 @@ qemuDomainGetStatsOneBlockFallback(virQEMUDriver *driver,
> if (virStorageSourceIsEmpty(src))
> return 0;
>
> + if (virStorageSourceIsFD(src))
> + return 0;
> +
> if (qemuStorageLimitsRefresh(driver, cfg, dom, src, true) <= 0) {
> virResetLastError();
> return 0;
Reviewed-by: Pavel Hrdina <phrdina at redhat.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20230106/3c770b30/attachment.sig>
More information about the libvir-list
mailing list