On Mon, Dec 11, 2017 at 11:56:19 +0100, Michal Privoznik wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1522706
If domain is active, but the undefine API was called without the
VIR_DOMAIN_UNDEFINE_KEEP_NVRAM flag set, the following incorrect
error message is produced:
error: Requested operation is not valid: cannot delete inactive domain with nvram
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Diff to v1:
- switched to different code pattern to make it easier for translators
src/qemu/qemu_driver.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index aa30b119a..cc5520c54 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7537,8 +7537,13 @@ qemuDomainUndefineFlags(virDomainPtr dom,
goto endjob;
}
} else if (!(flags & VIR_DOMAIN_UNDEFINE_KEEP_NVRAM)) {
- virReportError(VIR_ERR_OPERATION_INVALID, "%s",
- _("cannot delete inactive domain with nvram"));
+ if (virDomainObjIsActive(vm)) {
+ virReportError(VIR_ERR_OPERATION_INVALID, "%s",
+ _("cannot delete active domain with nvram"));
+ } else {
+ virReportError(VIR_ERR_OPERATION_INVALID, "%s",
+ _("cannot delete inactive domain with
nvram"));
+ }
Sigh, I should have noticed this earlier... it's in the undefine API so
"delete" is probably not the best word. And it doesn't really matter
that much whether the domain is active or inactive. So how about having
just one simple error message "cannot undefine domain with nvram"? :-)
Jirka