Not just the DomainObj's private data. --- src/qemu/qemu_domain.c | 4 +++- src/qemu/qemu_domain.h | 2 +- src/qemu/qemu_driver.c | 24 ++++++++++++------------ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index ac5ca74..f3f3910 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -2798,9 +2798,11 @@ qemuDomainDefCheckABIStability(virQEMUDriverPtr driver, } bool -qemuDomainAgentAvailable(qemuDomainObjPrivatePtr priv, +qemuDomainAgentAvailable(virDomainObjPtr vm, bool reportError) { + qemuDomainObjPrivatePtr priv = vm->privateData; + if (priv->agentError) { if (reportError) { virReportError(VIR_ERR_AGENT_UNRESPONSIVE, "%s", diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index b2c3881..fe3e2b1 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -395,7 +395,7 @@ bool qemuDomainDefCheckABIStability(virQEMUDriverPtr driver, virDomainDefPtr src, virDomainDefPtr dst); -bool qemuDomainAgentAvailable(qemuDomainObjPrivatePtr priv, +bool qemuDomainAgentAvailable(virDomainObjPtr vm, bool reportError); int qemuDomainJobInfoUpdateTime(qemuDomainJobInfoPtr jobInfo) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index d5b9d0d..519705c 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -1943,7 +1943,7 @@ static int qemuDomainShutdownFlags(virDomainPtr dom, unsigned int flags) goto cleanup; agentForced = agentRequested && !acpiRequested; - if (!qemuDomainAgentAvailable(priv, agentForced)) { + if (!qemuDomainAgentAvailable(vm, agentForced)) { if (agentForced) goto endjob; useAgent = false; @@ -2058,7 +2058,7 @@ qemuDomainReboot(virDomainPtr dom, unsigned int flags) if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0) goto cleanup; - if (useAgent && !qemuDomainAgentAvailable(priv, true)) + if (useAgent && !qemuDomainAgentAvailable(vm, true)) goto endjob; if (!virDomainObjIsActive(vm)) { @@ -4766,7 +4766,7 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus, goto endjob; } - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) goto endjob; if (nvcpus > vm->def->vcpus) { @@ -5490,7 +5490,7 @@ qemuDomainGetVcpusFlags(virDomainPtr dom, unsigned int flags) if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0) goto cleanup; - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) goto endjob; if (!virDomainObjIsActive(vm)) { @@ -12892,7 +12892,7 @@ qemuDomainSnapshotFSFreeze(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, qemuDomainObjPrivatePtr priv = vm->privateData; int frozen; - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) return -1; qemuDomainObjEnterAgent(vm); @@ -12912,7 +12912,7 @@ qemuDomainSnapshotFSThaw(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, int thawed; virErrorPtr err = NULL; - if (!qemuDomainAgentAvailable(priv, report)) + if (!qemuDomainAgentAvailable(vm, report)) return -1; qemuDomainObjEnterAgent(vm); @@ -17614,7 +17614,7 @@ qemuDomainPMSuspendForDuration(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0) goto cleanup; - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) goto endjob; if (!virDomainObjIsActive(vm)) { @@ -17734,7 +17734,7 @@ qemuDomainQemuAgentCommand(virDomainPtr domain, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0) goto cleanup; - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) goto endjob; if (!virDomainObjIsActive(vm)) { @@ -17843,7 +17843,7 @@ qemuDomainFSTrim(virDomainPtr dom, if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0) goto cleanup; - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) goto endjob; if (!virDomainObjIsActive(vm)) { @@ -18027,7 +18027,7 @@ qemuDomainGetTime(virDomainPtr dom, goto endjob; } - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) goto endjob; qemuDomainObjEnterAgent(vm); @@ -18086,7 +18086,7 @@ qemuDomainSetTime(virDomainPtr dom, goto endjob; } - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) goto endjob; qemuDomainObjEnterAgent(vm); @@ -19063,7 +19063,7 @@ qemuDomainGetFSInfo(virDomainPtr dom, goto endjob; } - if (!qemuDomainAgentAvailable(priv, true)) + if (!qemuDomainAgentAvailable(vm, true)) goto endjob; qemuDomainObjEnterAgent(vm); -- 2.0.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list