Adds an optional switch, --uuid, for telling the virsh vol-pool command to return the pool UUID rather than pool name. ---
Just added for flexibility. tools/virsh.c | 13 +++++++++++-- tools/virsh.pod | 8 +++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 7d8ae0e..7e65942 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -6049,6 +6049,7 @@ static const vshCmdInfo info_vol_pool[] = { }; static const vshCmdOptDef opts_vol_pool[] = { + {"uuid", VSH_OT_BOOL, 0, N_("return the pool uuid rather than pool name")}, {"vol", VSH_OT_DATA, VSH_OFLAG_REQ, N_("volume key or path")}, {NULL, 0, 0, NULL} }; @@ -6058,6 +6059,7 @@ cmdVolPool(vshControl *ctl, const vshCmd *cmd) { virStoragePoolPtr pool; virStorageVolPtr vol; + char uuid[VIR_UUID_STRING_BUFLEN]; /* Check the connection to libvirtd daemon is still working */ if (!vshConnectionUsability(ctl, ctl->conn, TRUE)) @@ -6077,8 +6079,15 @@ cmdVolPool(vshControl *ctl, const vshCmd *cmd) return FALSE; } - /* Return the name of the parent storage pool */ - vshPrint(ctl, "%s\n", virStoragePoolGetName(pool)); + /* Return the requested details of the parent storage pool */ + if (vshCommandOptBool(cmd, "uuid")) { + /* Retrieve and return pool UUID string */ + if (virStoragePoolGetUUIDString(pool, &uuid[0]) == 0) + vshPrint(ctl, "%s\n", uuid); + } else { + /* Return the storage pool name */ + vshPrint(ctl, "%s\n", virStoragePoolGetName(pool)); + } /* Cleanup */ virStorageVolFree(vol); diff --git a/tools/virsh.pod b/tools/virsh.pod index e83ea4d..8ef0e96 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -839,10 +839,12 @@ I<vol-name-or-key-or-path> is the name or key or path of the volume to return in Return the list of volumes in the given storage pool. I<--pool> I<pool-or-uuid> is the name or UUID of the storage pool. -=item B<vol-pool> I<vol-key-or-path> +=item B<vol-pool> [optional I<--uuid>] I<vol-key-or-path> -Return the pool for a given volume. -I<vol-key-or-path> is the key or path of the volume to return the pool name for. +Return the pool name or UUID for a given volume. By default, the pool name is +returned. If the I<--uuid> option is given, the pool UUID is returned instead. +I<vol-key-or-path> is the key or path of the volume to return the pool +information for. =item B<vol-path> [optional I<--pool> I<pool-or-uuid>] I<vol-name-or-key> -- 1.7.0.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list