From: Osier Yang Date: Mon, 1 Aug 2011 11:41:07 +0000 (+0800) Subject: qemu: Fix a regression of domjobabort X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f362a99a53a7e916d4c957a8c5dea819e3481fbc;p=libvirt.git qemu: Fix a regression of domjobabort 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 --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index b673fd5fb5..cce1c686e3 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;