Re: [PATCH 07/17] virsh-domain-monitor: Update domain commands to use vshCommandOptStringReq

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

 



On 2013年01月22日 02:07, Peter Krempa wrote:
---
  tools/virsh-domain-monitor.c | 44 +++++++++++++++++++-------------------------
  1 file changed, 19 insertions(+), 25 deletions(-)

diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index 1e8b8cf..7e105fd 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -373,26 +373,25 @@ cmdDomblkinfo(vshControl *ctl, const vshCmd *cmd)
  {
      virDomainBlockInfo info;
      virDomainPtr dom;
-    bool ret = true;
+    bool ret = false;
      const char *device = NULL;

      if (!(dom = vshCommandOptDomain(ctl, cmd, NULL)))
          return false;

-    if (vshCommandOptString(cmd, "device",&device)<= 0) {
-        virDomainFree(dom);
-        return false;
-    }
+    if (vshCommandOptStringReq(ctl, cmd, "device",&device)<  0)
+        goto cleanup;

-    if (virDomainGetBlockInfo(dom, device,&info, 0)<  0) {
-        virDomainFree(dom);
-        return false;
-    }
+    if (virDomainGetBlockInfo(dom, device,&info, 0)<  0)
+        goto cleanup;

      vshPrint(ctl, "%-15s %llu\n", _("Capacity:"), info.capacity);
      vshPrint(ctl, "%-15s %llu\n", _("Allocation:"), info.allocation);
      vshPrint(ctl, "%-15s %llu\n", _("Physical:"), info.physical);

+    ret = true;
+
+cleanup:
      virDomainFree(dom);
      return ret;
  }
@@ -670,16 +669,13 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
      if (!(dom = vshCommandOptDomain(ctl, cmd, NULL)))
          return false;

-    if (vshCommandOptString(cmd, "interface",&iface)<= 0) {
-        virDomainFree(dom);
-        return false;
-    }
+    if (vshCommandOptStringReq(ctl, cmd, "interface",&iface)<  0)
+        goto cleanup;

      if (vshCommandOptBool(cmd, "config"))
          flags = VIR_DOMAIN_XML_INACTIVE;

-    desc = virDomainGetXMLDesc(dom, flags);
-    if (desc == NULL) {
+    if (!(desc = virDomainGetXMLDesc(dom, flags))) {
          vshError(ctl, _("Failed to get domain description xml"));
          goto cleanup;
      }
@@ -752,8 +748,7 @@ cleanup:
      xmlXPathFreeObject(obj);
      xmlXPathFreeContext(ctxt);
      xmlFreeDoc(xml);
-    if (dom)
-        virDomainFree(dom);
+    virDomainFree(dom);

      return ret;
  }
@@ -891,7 +886,7 @@ cmdDomblkstat(vshControl *ctl, const vshCmd *cmd)
      if (!(dom = vshCommandOptDomain(ctl, cmd,&name)))
          return false;

-    if (vshCommandOptString(cmd, "device",&device)<= 0)
+    if (vshCommandOptStringReq(ctl, cmd, "device",&device)<= 0)

I think you mean < 0 here.

          goto cleanup;

      rc = virDomainBlockStatsFlags(dom, device, NULL,&nparams, 0);
@@ -1016,19 +1011,17 @@ cmdDomIfstat(vshControl *ctl, const vshCmd *cmd)
      virDomainPtr dom;
      const char *name = NULL, *device = NULL;
      struct _virDomainInterfaceStats stats;
+    bool ret = false;

      if (!(dom = vshCommandOptDomain(ctl, cmd,&name)))
          return false;

-    if (vshCommandOptString(cmd, "interface",&device)<= 0) {
-        virDomainFree(dom);
-        return false;
-    }
+    if (vshCommandOptStringReq(ctl, cmd, "interface",&device)<  0)
+        goto cleanup;

      if (virDomainInterfaceStats(dom, device,&stats, sizeof(stats)) == -1) {
          vshError(ctl, _("Failed to get interface stats %s %s"), name, device);
-        virDomainFree(dom);
-        return false;
+        goto cleanup;
      }

      if (stats.rx_bytes>= 0)
@@ -1055,8 +1048,9 @@ cmdDomIfstat(vshControl *ctl, const vshCmd *cmd)
      if (stats.tx_drop>= 0)
          vshPrint(ctl, "%s tx_drop %lld\n", device, stats.tx_drop);

+cleanup:
      virDomainFree(dom);
-    return true;
+    return ret;

Is "ret" set to true yet if success?

--
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]