[libvirt] [PATCH] virsh: ensure persistence and autostart are shown for dominfo and pool-info

Justin Clift justin at salasaga.org
Mon Jun 14 11:38:49 UTC 2010


This patch adds the persistence status (yes/no) to the output of the virsh
dominfo and pool-info commands.  This patch also adds the autostart status
to the output of the virsh pool-info command.

Red Hat BZ for this:

  https://bugzilla.redhat.com/show_bug.cgi?id=603696

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

diff --git a/tools/virsh.c b/tools/virsh.c
index 56e1bd7..90fd59e 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -1903,6 +1903,7 @@ cmdDominfo(vshControl *ctl, const vshCmd *cmd)
     virDomainPtr dom;
     virSecurityModel secmodel;
     virSecurityLabel seclabel;
+    int persistent = 0;
     int ret = TRUE, autostart;
     unsigned int id;
     char *str, uuid[VIR_UUID_STRING_BUFLEN];
@@ -1956,6 +1957,15 @@ cmdDominfo(vshControl *ctl, const vshCmd *cmd)
         ret = FALSE;
     }
 
+    /* Check and display whether the domain is persistent or not */
+    persistent = virDomainIsPersistent(dom);
+    vshDebug(ctl, 5, "Domain persistent flag value: %d\n", persistent);
+    if (persistent < 0)
+        vshPrint(ctl, "%-15s %s\n", _("Persistent:"), _("unknown"));
+    else
+        vshPrint(ctl, "%-15s %s\n", _("Persistent:"), persistent ? _("yes") : _("no"));
+
+    /* Check and display whether the domain autostarts or not */
     if (!virDomainGetAutostart(dom, &autostart)) {
         vshPrint(ctl, "%-15s %s\n", _("Autostart:"),
                  autostart ? _("enable") : _("disable") );
@@ -5134,6 +5144,8 @@ cmdPoolInfo(vshControl *ctl, const vshCmd *cmd)
 {
     virStoragePoolInfo info;
     virStoragePoolPtr pool;
+    int autostart = 0;
+    int persistent = 0;
     int ret = TRUE;
     char uuid[VIR_UUID_STRING_BUFLEN];
 
@@ -5174,6 +5186,22 @@ cmdPoolInfo(vshControl *ctl, const vshCmd *cmd)
             break;
         }
 
+        /* Check and display whether the pool is persistent or not */
+        persistent = virStoragePoolIsPersistent(pool);
+        vshDebug(ctl, 5, "Pool persistent flag value: %d\n", persistent);
+        if (persistent < 0)
+            vshPrint(ctl, "%-15s %s\n", _("Persistent:"),  _("unknown"));
+        else
+            vshPrint(ctl, "%-15s %s\n", _("Persistent:"), persistent ? _("yes") : _("no"));
+
+        /* Check and display whether the pool is autostarted or not */
+        virStoragePoolGetAutostart(pool, &autostart);
+        vshDebug(ctl, 5, "Pool autostart flag value: %d\n", autostart);
+        if (autostart < 0)
+            vshPrint(ctl, "%-15s %s\n", _("Autostart:"), _("no autostart"));
+        else
+            vshPrint(ctl, "%-15s %s\n", _("Autostart:"), autostart ? _("yes") : _("no"));
+
         if (info.state == VIR_STORAGE_POOL_RUNNING ||
             info.state == VIR_STORAGE_POOL_DEGRADED) {
             val = prettyCapacity(info.capacity, &unit);
-- 
1.7.0.1




More information about the libvir-list mailing list