[libvirt] [PATCH] virsh: ensure --maximum flag used only with --config for setvcpus

Justin Clift jclift at redhat.com
Thu Jan 13 17:42:03 UTC 2011


---
 tools/virsh.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/tools/virsh.c b/tools/virsh.c
index 018e363..f14144d 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -2765,11 +2765,32 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd)
             ret = FALSE;
         }
     } else {
+        /* If the --maximum flag was given, we need to ensure only the
+           --config flag is in effect as well */
+        if (VIR_DOMAIN_VCPU_MAXIMUM & flags) {
+            vshDebug(ctl, 5, "--maximum flag was given\n");
+
+            /* If neither the --config nor --live flags were given, OR
+               if just the --live flag was given, we need to error out
+               warning the user that the --maximum flag can only be used
+               with the --config flag */
+            if ((VIR_DOMAIN_VCPU_LIVE & flags) |
+                (VIR_DOMAIN_VCPU_MAXIMUM == flags)) {
+
+                /* Warn the user about the invalid flag combination */
+                vshError(ctl, _("--maximum must be used with --config only"));
+                ret = FALSE;
+                goto cleanup;
+            }
+        }
+
+        /* Apply the virtual cpu changes */
         if (virDomainSetVcpusFlags(dom, count, flags) < 0) {
             ret = FALSE;
         }
     }
 
+  cleanup:
     virDomainFree(dom);
     return ret;
 }
-- 
1.7.3.5




More information about the libvir-list mailing list