mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
qemu, lxc: Raise error message when resuming running domain
When user tries to resume already running domain (Qemu or LXC) VIR_ERR_OPERATION_INVALID error should be raised with message that domain is already running. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1009008
This commit is contained in:
parent
3cbf054995
commit
3e044e6e49
@ -3156,6 +3156,7 @@ static int lxcDomainResume(virDomainPtr dom)
|
|||||||
virDomainObjPtr vm;
|
virDomainObjPtr vm;
|
||||||
virObjectEventPtr event = NULL;
|
virObjectEventPtr event = NULL;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
int state;
|
||||||
virLXCDomainObjPrivatePtr priv;
|
virLXCDomainObjPrivatePtr priv;
|
||||||
virLXCDriverConfigPtr cfg = virLXCDriverGetConfig(driver);
|
virLXCDriverConfigPtr cfg = virLXCDriverGetConfig(driver);
|
||||||
|
|
||||||
@ -3176,7 +3177,12 @@ static int lxcDomainResume(virDomainPtr dom)
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_PAUSED) {
|
state = virDomainObjGetState(vm, NULL);
|
||||||
|
if (state == VIR_DOMAIN_RUNNING) {
|
||||||
|
virReportError(VIR_ERR_OPERATION_INVALID,
|
||||||
|
"%s", _("domain is already running"));
|
||||||
|
goto endjob;
|
||||||
|
} else if (state == VIR_DOMAIN_PAUSED) {
|
||||||
if (virCgroupSetFreezerState(priv->cgroup, "THAWED") < 0) {
|
if (virCgroupSetFreezerState(priv->cgroup, "THAWED") < 0) {
|
||||||
virReportError(VIR_ERR_OPERATION_FAILED,
|
virReportError(VIR_ERR_OPERATION_FAILED,
|
||||||
"%s", _("Resume operation failed"));
|
"%s", _("Resume operation failed"));
|
||||||
|
@ -1927,6 +1927,10 @@ static int qemuDomainResume(virDomainPtr dom)
|
|||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID,
|
||||||
"%s", _("domain is pmsuspended"));
|
"%s", _("domain is pmsuspended"));
|
||||||
goto endjob;
|
goto endjob;
|
||||||
|
} else if (state == VIR_DOMAIN_RUNNING) {
|
||||||
|
virReportError(VIR_ERR_OPERATION_INVALID,
|
||||||
|
"%s", _("domain is already running"));
|
||||||
|
goto endjob;
|
||||||
} else if ((state == VIR_DOMAIN_CRASHED &&
|
} else if ((state == VIR_DOMAIN_CRASHED &&
|
||||||
reason == VIR_DOMAIN_CRASHED_PANICKED) ||
|
reason == VIR_DOMAIN_CRASHED_PANICKED) ||
|
||||||
state == VIR_DOMAIN_PAUSED) {
|
state == VIR_DOMAIN_PAUSED) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user