mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemuDomainShutdownFlags: check for domain activeness prior to guest presence
Running shutdown with mode agent on a shutoff domain gives cryptic error message: virsh # shutdown --mode agent gentoo error: Failed to shutdown domain gentoo error: Guest agent is not responding: QEMU guest agent is not connected After this patch, the error is more clear: virsh # shutdown --mode agent gentoo error: Failed to shutdown domain gentoo error: Requested operation is not valid: domain is not running Reported-by: Martin Kletzander <mkletzan@redhat.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
c3cf3c43a0
commit
21e8fc36c6
@ -1990,6 +1990,12 @@ static int qemuDomainShutdownFlags(virDomainPtr dom, unsigned int flags)
|
|||||||
if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0)
|
if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_MODIFY) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
if (!virDomainObjIsActive(vm)) {
|
||||||
|
virReportError(VIR_ERR_OPERATION_INVALID,
|
||||||
|
"%s", _("domain is not running"));
|
||||||
|
goto endjob;
|
||||||
|
}
|
||||||
|
|
||||||
agentForced = agentRequested && !acpiRequested;
|
agentForced = agentRequested && !acpiRequested;
|
||||||
if (!qemuDomainAgentAvailable(vm, agentForced)) {
|
if (!qemuDomainAgentAvailable(vm, agentForced)) {
|
||||||
if (agentForced)
|
if (agentForced)
|
||||||
@ -1997,12 +2003,6 @@ static int qemuDomainShutdownFlags(virDomainPtr dom, unsigned int flags)
|
|||||||
useAgent = false;
|
useAgent = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!virDomainObjIsActive(vm)) {
|
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
|
||||||
"%s", _("domain is not running"));
|
|
||||||
goto endjob;
|
|
||||||
}
|
|
||||||
|
|
||||||
qemuDomainSetFakeReboot(driver, vm, isReboot);
|
qemuDomainSetFakeReboot(driver, vm, isReboot);
|
||||||
|
|
||||||
if (useAgent) {
|
if (useAgent) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user