Re: [PATCH 33/36] qemu: driver: Don't allow certain operations with FD-passed disks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> ---
>  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@xxxxxxxxxx>

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux