Re: [[PATCHv2 3/2]] virsh: add --graceful switch to destroy command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/03/2012 02:44 PM, Michal Privoznik wrote:
On 03.02.2012 20:34, Laine Stump wrote:
This allows virsh to use the new VIR_DOMAIN_DESTROY_GRACEUL flag for
virDomainDestroyFlags.
---
Okay, how about this one :-)

  tools/virsh.c   |    9 ++++++++-
  tools/virsh.pod |    6 +++++-
  2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/tools/virsh.c b/tools/virsh.c
index 42985a9..6a151e6 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -4264,6 +4264,7 @@ static const vshCmdInfo info_destroy[] = {

  static const vshCmdOptDef opts_destroy[] = {
      {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")},
+    {"graceful", VSH_OT_BOOL, VSH_OFLAG_NONE, N_("needs rawio capability")},
      {NULL, 0, 0, NULL}
  };

@@ -4273,6 +4274,7 @@ cmdDestroy(vshControl *ctl, const vshCmd *cmd)
      virDomainPtr dom;
      bool ret = true;
      const char *name;
+    int result;
I tend to define unsigned flags = 0; here, even when they'll be used
only for one flag right now, but it will simplify patches adding a new one.
      if (!vshConnectionUsability(ctl, ctl->conn))
          return false;
@@ -4280,7 +4282,12 @@ cmdDestroy(vshControl *ctl, const vshCmd *cmd)
      if (!(dom = vshCommandOptDomain(ctl, cmd,&name)))
          return false;

-    if (virDomainDestroy(dom) == 0) {
+    if (vshCommandOptBool(cmd, "graceful"))
+       result = virDomainDestroyFlags(dom, VIR_DOMAIN_DESTROY_GRACEFUL);
+    else
+       result = virDomainDestroy(dom);
+
+    if (result == 0) {
So this chunk will look like:

if (vshCommandOptBool(cmd, "graceful"))
   flags |= VIR_DOMAIN_DESTROY_GRACEFUL;

if (flags)
   result = virDomainDestroyFlags(dom, flags);
else
   result = virDomainDestroy(dom);

if (result == 0) {

But this is not a show stopper for me.
Yeah, I agree, especially since we're likely to add another flag to 
virDomainDestroyFlags soon. I switched it back to having a flags 
variable, made sure it still worked, and pushed.
Thanks!

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]