Re: [PATCH 1/3] qemu: add a 'chain' parameter to nbdkit start/stop

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

 



On Thu, Jan 25, 2024 at 14:52:09 -0600, Jonathon Jongsma wrote:
> This will allow us to start or stop nbdkit for just a single disk source
> or for every source in the backing chain. This will be used in following
> patches.
> 
> Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx>
> ---
>  src/qemu/qemu_extdevice.c |  8 +++---
>  src/qemu/qemu_hotplug.c   |  6 ++---
>  src/qemu/qemu_nbdkit.c    | 51 ++++++++++++++++++++++++++++++---------
>  src/qemu/qemu_nbdkit.h    |  6 +++--
>  4 files changed, 51 insertions(+), 20 deletions(-)

[...]

> diff --git a/src/qemu/qemu_nbdkit.c b/src/qemu/qemu_nbdkit.c
> index 1c72b6fe6a..39f9c58a48 100644
> --- a/src/qemu/qemu_nbdkit.c
> +++ b/src/qemu/qemu_nbdkit.c
> @@ -912,18 +928,31 @@ qemuNbdkitStartStorageSource(virQEMUDriver *driver,
>  }
>  
>  
> +static void
> +qemuNbdkitStopStorageSourceOne(virStorageSource *src,
> +                               virDomainObj *vm)
> +{
> +    qemuDomainStorageSourcePrivate *priv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src);
> +
> +    if (priv && priv->nbdkitProcess &&
> +        qemuNbdkitProcessStop(priv->nbdkitProcess, vm) < 0)
> +        VIR_WARN("Unable to stop nbdkit for storage source '%s'",
> +                 qemuBlockStorageSourceGetStorageNodename(src));
> +}
> +
> +
>  void

No return value.

>  qemuNbdkitStopStorageSource(virStorageSource *src,
> -                            virDomainObj *vm)
> +                            virDomainObj *vm,
> +                            bool chain)
>  {
>      virStorageSource *backing;
>  
> -    for (backing = src; backing != NULL; backing = backing->backingStore) {
> -        qemuDomainStorageSourcePrivate *priv = QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(backing);
> +    if (! chain)

s/! chain/!chain/

> +        return qemuNbdkitStopStorageSourceOne(src, vm);

Return in a function with no return value. Compilers don't complain but
it may mislead readers.

>  
> -        if (priv && priv->nbdkitProcess &&
> -            qemuNbdkitProcessStop(priv->nbdkitProcess, vm) < 0)
> -            VIR_WARN("Unable to stop nbdkit for storage source '%s'", qemuBlockStorageSourceGetStorageNodename(src));
> +    for (backing = src; backing != NULL; backing = backing->backingStore) {
> +        qemuNbdkitStopStorageSourceOne(backing, vm);

Alternatively rather than having an extra invocation before this loop
you can break out if (!chain) here for same result. Same applies also to
the 'Start' function.


>      }
>  }

With the extra space and 'return' removed:

Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[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