]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: pool-list: introduce --name for printing pool's name only
authorChen Hanxiao <chenhanxiao@gmail.com>
Fri, 6 Jan 2017 14:42:52 +0000 (22:42 +0800)
committerJohn Ferlan <jferlan@redhat.com>
Wed, 18 Jan 2017 13:46:14 +0000 (08:46 -0500)
This patch will introduce option --name.
If specified, only name of pools will be printed out.

Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com>
tools/virsh-pool.c
tools/virsh.pod

index 059d787de905bcef268e23fcc51cca88a9739031..32c30af65e6b1a5789e4751eac5549c519d7eb55 100644 (file)
@@ -1064,6 +1064,10 @@ static const vshCmdOptDef opts_pool_list[] = {
      .type = VSH_OT_BOOL,
      .help = N_("list UUID of active pools only")
     },
+    {.name = "name",
+     .type = VSH_OT_BOOL,
+     .help = N_("list name of active pools only")
+    },
     {.name = NULL}
 };
 
@@ -1092,6 +1096,7 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
     bool details = vshCommandOptBool(cmd, "details");
     bool inactive, all;
     bool uuid = false;
+    bool name = false;
     char *outputStr = NULL;
 
     inactive = vshCommandOptBool(cmd, "inactive");
@@ -1119,10 +1124,14 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
     if (vshCommandOptBool(cmd, "uuid"))
         uuid = true;
 
+    if (vshCommandOptBool(cmd, "name"))
+        name = true;
+
     if (vshCommandOptStringReq(ctl, cmd, "type", &type) < 0)
         return false;
 
     VSH_EXCLUSIVE_OPTIONS("details", "uuid");
+    VSH_EXCLUSIVE_OPTIONS("details", "name");
 
     if (type) {
         int poolType = -1;
@@ -1317,6 +1326,15 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
             goto cleanup;
         }
 
+        if (name) {
+            for (i = 0; i < list->npools; i++) {
+                const char *name_str = virStoragePoolGetName(list->pools[i]);
+                vshPrint(ctl, "%-20s\n", name_str);
+            }
+            ret = true;
+            goto cleanup;
+        }
+
         /* Output old style header */
         vshPrintExtra(ctl, " %-20s %-10s %-10s\n", _("Name"), _("State"),
                       _("Autostart"));
@@ -1324,9 +1342,9 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
 
         /* Output old style pool info */
         for (i = 0; i < list->npools; i++) {
-            const char *name = virStoragePoolGetName(list->pools[i]);
+            const char *name_str = virStoragePoolGetName(list->pools[i]);
             vshPrint(ctl, " %-20s %-10s %-10s\n",
-                 name,
+                 name_str,
                  poolInfoTexts[i].state,
                  poolInfoTexts[i].autostart);
         }
index 7d948ed0f49210112bf4221f404c16477619cdae..13daf7964729aa559a8d14965474905fed339565 100644 (file)
@@ -3621,7 +3621,8 @@ of basic info are not converted to human friendly units.
 =item B<pool-list> [I<--inactive>] [I<--all>]
                    [I<--persistent>] [I<--transient>]
                    [I<--autostart>] [I<--no-autostart>]
-                   [[I<--details>] [I<--uuid>] [<type>]
+                   [[I<--details>] [I<--uuid>]
+                   [I<--name>] [<type>]
 
 List pool objects known to libvirt.  By default, only active pools
 are listed; I<--inactive> lists just the inactive pools, and I<--all>
@@ -3631,6 +3632,7 @@ In addition, there are several sets of filtering flags. I<--persistent> is to
 list the persistent pools, I<--transient> is to list the transient pools.
 I<--autostart> lists the autostarting pools, I<--no-autostart> lists the pools
 with autostarting disabled. If I<--uuid> is specified only pool's UUIDs are printed.
+If I<--name> is specified only pool's names are printed.
 
 You may also want to list pools with specified types using I<type>, the
 pool types must be separated by comma, e.g. --type dir,disk. The valid pool