Re: [PATCH 17/19] qemu: migration: Clean up temporary bitmaps when cancelling a migration

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

 



On Thu, Feb 11, 2021 at 16:37:56 +0100, Peter Krempa wrote:
> In case when the block migration job required temporary bitmaps for
> merging the appropriate checkpoints we need to clean them up when
> cancelling the job. On success we don't need to do that though as the
> bitmaps are just temporary thus are not written to disk.
> 
> Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
> ---
>  src/qemu/qemu_migration.c | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
> 
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index 37f0d43d24..36424f8493 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
> @@ -834,6 +834,32 @@ qemuMigrationSrcNBDCopyCancel(virQEMUDriverPtr driver,
>  }
> 
> 
> +static int
> +qemuMigrationSrcCancelRemoveTempBitmaps(virDomainObjPtr vm,
> +                                        qemuDomainAsyncJob asyncJob)
> +{
> +    qemuDomainObjPrivatePtr priv = vm->privateData;
> +    virQEMUDriverPtr driver = priv->driver;
> +    qemuDomainJobPrivatePtr jobPriv = priv->job.privateData;
> +    GSList *next;
> +
> +    if (!jobPriv->migTempBitmaps)
> +        return 0;

This check is pretty much redundant as the loop will do exactly the
same.

> +
> +    for (next = jobPriv->migTempBitmaps; next; next = next->next) {
> +        qemuDomainJobPrivateMigrateTempBitmapPtr t = next->data;
> +
> +        if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
> +            return -1;
> +        qemuMonitorBitmapRemove(priv->mon, t->nodename, t->bitmapname);
> +        if (qemuDomainObjExitMonitor(driver, vm) < 0)
> +            return -1;
> +    }
> +
> +    return 0;
> +}
> +
> +
>  static virStorageSourcePtr
>  qemuMigrationSrcNBDStorageCopyBlockdevPrepareSource(virDomainDiskDefPtr disk,
>                                                      const char *host,
...

Reviewed-by: Jiri Denemark <jdenemar@xxxxxxxxxx>




[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