]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virsh: pool-list: allow both --uuid and --name in one cmd
authorChen Hanxiao <chenhanxiao@gmail.com>
Fri, 6 Jan 2017 14:42:53 +0000 (22:42 +0800)
committerJohn Ferlan <jferlan@redhat.com>
Wed, 18 Jan 2017 14:12:31 +0000 (09:12 -0500)
This patch will allow --uuid and --name in one cmd.
The pool's UUID and name will be printed side by side.

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

index 32c30af65e6b1a5789e4751eac5549c519d7eb55..d50ae2a692104078748eab2a76ae618874f6a218 100644 (file)
@@ -1316,20 +1316,18 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
 
     /* Output basic info then return if --details option not selected */
     if (!details) {
-        if (uuid) {
+        if (uuid || name) {
             for (i = 0; i < list->npools; i++) {
-                char uuid_str[VIR_UUID_STRING_BUFLEN];
-                virStoragePoolGetUUIDString(list->pools[i], uuid_str);
-                vshPrint(ctl, "%-36s\n", uuid_str);
-            }
-            ret = true;
-            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);
+                if (uuid) {
+                    char uuid_str[VIR_UUID_STRING_BUFLEN];
+                    virStoragePoolGetUUIDString(list->pools[i], uuid_str);
+                    vshPrint(ctl, "%-36s%c", uuid_str, name ? ' ': '\n');
+                }
+                if (name) {
+                    const char *name_str =
+                        virStoragePoolGetName(list->pools[i]);
+                    vshPrint(ctl, "%-20s\n", name_str);
+                }
             }
             ret = true;
             goto cleanup;
index 13daf7964729aa559a8d14965474905fed339565..290f5083d99c837940b20c548b39795b54741b7f 100644 (file)
@@ -3632,7 +3632,10 @@ 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.
+If I<--name> is specified only pool's names are printed. If both I<--name>
+and I<--uuid> are specified, pool's UUID and names are printed side by side
+without any header. Options I<--uuid> and I<--name> are mutually exclusive
+if option I<--details> is specified.
 
 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