[libvirt] [PATCH v2] qemuDomainUndefineFlags: Fix error message

Michal Privoznik mprivozn at redhat.com
Mon Dec 11 10:56:19 UTC 2017


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 at 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"));
+            }
             goto endjob;
         }
     }
-- 
2.13.6




More information about the libvir-list mailing list