From f362a99a53a7e916d4c957a8c5dea819e3481fbc Mon Sep 17 00:00:00 2001 From: Osier Yang Date: Mon, 1 Aug 2011 19:41:07 +0800 Subject: [PATCH] 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 --- src/qemu/qemu_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; -- GitLab