[libvirt] [PATCH] virsh: volume: Add --bytes to 'vol-info'

Peter Krempa pkrempa at redhat.com
Tue May 3 15:25:44 UTC 2016


---
 tools/virsh-volume.c | 23 +++++++++++++++++++----
 tools/virsh.pod      |  4 +++-
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/tools/virsh-volume.c b/tools/virsh-volume.c
index 9cc8e52..d35fee1 100644
--- a/tools/virsh-volume.c
+++ b/tools/virsh-volume.c
@@ -992,6 +992,10 @@ static const vshCmdInfo info_vol_info[] = {
 static const vshCmdOptDef opts_vol_info[] = {
     VIRSH_COMMON_OPT_VOLUME_VOL,
     VIRSH_COMMON_OPT_POOL_OPTIONAL,
+    {.name = "bytes",
+     .type = VSH_OT_BOOL,
+     .help = N_("sizes are represented in bytes rather than pretty units")
+    },
     {.name = NULL}
 };

@@ -1000,6 +1004,7 @@ cmdVolInfo(vshControl *ctl, const vshCmd *cmd)
 {
     virStorageVolInfo info;
     virStorageVolPtr vol;
+    bool bytes = vshCommandOptBool(cmd, "bytes");
     bool ret = true;

     if (!(vol = virshCommandOptVol(ctl, cmd, "vol", "pool", NULL)))
@@ -1014,11 +1019,21 @@ cmdVolInfo(vshControl *ctl, const vshCmd *cmd)
         vshPrint(ctl, "%-15s %s\n", _("Type:"),
                  virshVolumeTypeToString(info.type));

-        val = vshPrettyCapacity(info.capacity, &unit);
-        vshPrint(ctl, "%-15s %2.2lf %s\n", _("Capacity:"), val, unit);
+        if (bytes) {
+            vshPrint(ctl, "%-15s %llu %s\n", _("Capacity:"),
+                     info.capacity, _("bytes"));
+        } else {
+            val = vshPrettyCapacity(info.capacity, &unit);
+            vshPrint(ctl, "%-15s %2.2lf %s\n", _("Capacity:"), val, unit);
+        }

-        val = vshPrettyCapacity(info.allocation, &unit);
-        vshPrint(ctl, "%-15s %2.2lf %s\n", _("Allocation:"), val, unit);
+        if (bytes) {
+            vshPrint(ctl, "%-15s %llu %s\n", _("Allocation:"),
+                     info.allocation, _("bytes"));
+         } else {
+            val = vshPrettyCapacity(info.allocation, &unit);
+            vshPrint(ctl, "%-15s %2.2lf %s\n", _("Allocation:"), val, unit);
+         }
     } else {
         ret = false;
     }
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 90ab47d..2a95df7 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -3639,11 +3639,13 @@ is in. I<vol-name-or-key-or-path> is the name or key or path of the volume
 to output the XML of.

 =item B<vol-info> [I<--pool> I<pool-or-uuid>] I<vol-name-or-key-or-path>
+[I<--bytes>]

 Returns basic information about the given storage volume.
 I<--pool> I<pool-or-uuid> is the name or UUID of the storage pool the volume
 is in. I<vol-name-or-key-or-path> is the name or key or path of the volume
-to return information for.
+to return information for. If I<--bytes> is specified the sizes are not
+converted to human friendly units.

 =item B<vol-list> [I<--pool> I<pool-or-uuid>] [I<--details>]

-- 
2.8.1




More information about the libvir-list mailing list