Re: [PATCH] qemu: fix block{commit,copy} abort handling

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

 



On Thu, Nov 27, 2014 at 13:29:42 +0100, Erik Skultety wrote:
> When a block{commit,copy} job was aborted on a domain, block job handler
> did not process it correctly, leaving a phantom job in the background.
> Any further calls to any blockjob causes "block <jobtype> still active"
> error. This patch fixes the blockjob handler so that it checks not only
> for VIR_DOMAIN_BLOCK_JOB_FAILED status, but VIR_DOMAIN_BLOCK_JOB_CANCELED
> status as well, followed by our existing cleanup routine.
> 
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1135169
> ---
>  src/qemu/qemu_process.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
> index c3ee40b..7e53515 100644
> --- a/src/qemu/qemu_process.c
> +++ b/src/qemu/qemu_process.c
> @@ -1108,7 +1108,8 @@ qemuProcessHandleBlockJob(qemuMonitorPtr mon ATTRIBUTE_UNUSED,
>              if (status == VIR_DOMAIN_BLOCK_JOB_READY) {
>                  disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_READY;
>                  save = true;
> -            } else if (status == VIR_DOMAIN_BLOCK_JOB_FAILED) {
> +            } else if (status == VIR_DOMAIN_BLOCK_JOB_FAILED ||
> +                       status == VIR_DOMAIN_BLOCK_JOB_CANCELED) {
>                  virStorageSourceFree(disk->mirror);
>                  disk->mirror = NULL;
>                  disk->mirrorState = VIR_DOMAIN_DISK_MIRROR_STATE_NONE;

ACK

Jirka

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[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]