[libvirt] [PATCH] qemu: Fix a regression of domjobabort

Matthias Bolte matthias.bolte at googlemail.com
Mon Aug 1 11:14:05 UTC 2011


2011/8/1 Osier Yang <jyang at redhat.com>:
> Introduced by f9a837da73a11ef, the condition is not changed after
> the else clause is removed. So now it quit with "domain is not
> running" when the domain is running. However, when the domain is
> not running, it reports "no job is active".
>
> How to reproduce:
>
> 1)
> % virsh start $domain
> % virsh domjobabort $domain
> error: Requested operation is not valid: domain is not running
>
> 2)
> % virsh destroy $domain
> % virsh domjobabort $domain
> error: Requested operation is not valid: no job is active on the domain
>
> 3)
> % virsh save $domain /tmp/$domain.save
>
> Before above commands finished, try to abort job in another terminal
>
> % virsh domabortjob $domain
> error: Requested operation is not valid: domain is not running
>
> ---
>  src/qemu/qemu_driver.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index b673fd5..cce1c68 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -8065,7 +8065,7 @@ static int qemuDomainAbortJob(virDomainPtr dom) {
>     if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_ABORT) < 0)
>         goto cleanup;
>
> -    if (virDomainObjIsActive(vm)) {
> +    if (!virDomainObjIsActive(vm)) {
>         qemuReportError(VIR_ERR_OPERATION_INVALID,
>                         "%s", _("domain is not running"));
>         goto endjob;

ACK, makes condition and error message match again.

-- 
Matthias Bolte
http://photron.blogspot.com




More information about the libvir-list mailing list