diff --git a/docs/news.xml b/docs/news.xml index 80d582ebe647776e2c13cb1dc8ea95d11f0d95db..52be1c14bc453756554fbd869207cfc7b34d9429 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -109,6 +109,15 @@ features going forward. + + + virsh: pool-info: introduce option --bytes + + + Add option --bytes to virsh pool-info in order ti allow display + of units in bytes rather than default of human readable output. + +
diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c index 45b538efacf997f7f9a5c904e9198312b2fe0fa9..6806b7aa330cdc4a7838f52495879c56172e0453 100644 --- a/tools/virsh-pool.c +++ b/tools/virsh-pool.c @@ -1589,6 +1589,10 @@ static const vshCmdInfo info_pool_info[] = { static const vshCmdOptDef opts_pool_info[] = { VIRSH_COMMON_OPT_POOL_FULL, + {.name = "bytes", + .type = VSH_OT_BOOL, + .help = N_("Reture pool info in bytes"), + }, {.name = NULL} }; @@ -1600,11 +1604,14 @@ cmdPoolInfo(vshControl *ctl, const vshCmd *cmd) int autostart = 0; int persistent = 0; bool ret = true; + bool bytes = false; char uuid[VIR_UUID_STRING_BUFLEN]; if (!(pool = virshCommandOptPool(ctl, cmd, "pool", NULL))) return false; + bytes = vshCommandOptBool(cmd, "bytes"); + vshPrint(ctl, "%-15s %s\n", _("Name:"), virStoragePoolGetName(pool)); if (virStoragePoolGetUUIDString(pool, &uuid[0]) == 0) @@ -1633,14 +1640,20 @@ cmdPoolInfo(vshControl *ctl, const vshCmd *cmd) if (info.state == VIR_STORAGE_POOL_RUNNING || info.state == VIR_STORAGE_POOL_DEGRADED) { - val = vshPrettyCapacity(info.capacity, &unit); - vshPrint(ctl, "%-15s %2.2lf %s\n", _("Capacity:"), val, unit); + if (bytes) { + vshPrint(ctl, "%-15s %llu\n", _("Capacity:"), info.capacity); + vshPrint(ctl, "%-15s %llu\n", _("Allocation:"), info.allocation); + vshPrint(ctl, "%-15s %llu\n", _("Available:"), info.available); + } 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); + val = vshPrettyCapacity(info.allocation, &unit); + vshPrint(ctl, "%-15s %2.2lf %s\n", _("Allocation:"), val, unit); - val = vshPrettyCapacity(info.available, &unit); - vshPrint(ctl, "%-15s %2.2lf %s\n", _("Available:"), val, unit); + val = vshPrettyCapacity(info.available, &unit); + vshPrint(ctl, "%-15s %2.2lf %s\n", _("Available:"), val, unit); + } } } else { ret = false; diff --git a/tools/virsh.pod b/tools/virsh.pod index b95d67f661680530b77201d749f62ca80aa21240..cfa7a24165d856b2f6eb6c8f0f423fa53e094096 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -3616,9 +3616,10 @@ except that it does some error checking. The editor used can be supplied by the C<$VISUAL> or C<$EDITOR> environment variables, and defaults to C. -=item B I +=item B [I<--bytes>] I -Returns basic information about the I object. +Returns basic information about the I object. If I<--bytes> is specified the sizes +of basic info are not converted to human friendly units. =item B [I<--inactive>] [I<--all>] [I<--persistent>] [I<--transient>]