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 <[email protected]>
> ---
> 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 <[email protected]>
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]