[libvirt] [PATCH] virsh: change-media: Fix behavior with --update without a source

Peter Krempa pkrempa at redhat.com
Tue Jun 9 11:41:19 UTC 2015


Docs state that it should behave like eject. Currently the code does not
do that. This is a regression since f4b5f53027da4fed2250628e11bac4019.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1229592
---
 tools/virsh-domain.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index a25b7ba..4c47473 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -12411,6 +12411,15 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd)

     VSH_EXCLUSIVE_OPTIONS_VAR(eject, block);

+    if (vshCommandOptStringReq(ctl, cmd, "source", &source) < 0)
+        return false;
+
+    /* Docs state that update without source is eject */
+    if (update && !source) {
+        update = false;
+        eject = true;
+    }
+
     if (eject) {
         update_type = VSH_UPDATE_DISK_XML_EJECT;
         action = "eject";
@@ -12445,9 +12454,6 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd)
     if (vshCommandOptStringReq(ctl, cmd, "path", &path) < 0)
         goto cleanup;

-    if (vshCommandOptStringReq(ctl, cmd, "source", &source) < 0)
-        goto cleanup;
-
     if (flags & VIR_DOMAIN_AFFECT_CONFIG)
         doc = virDomainGetXMLDesc(dom, VIR_DOMAIN_XML_INACTIVE);
     else
-- 
2.4.1




More information about the libvir-list mailing list