There were two separate places with that were stringifying type of a volume. One of the places was out of sync with types implemented upstream. To avoid such problems in the future, this patch adds a common function to convert the type to string and reuses it across the two said places. --- tools/virsh-volume.c | 59 ++++++++++++++++++++++++---------------------------- 1 file changed, 27 insertions(+), 32 deletions(-) diff --git a/tools/virsh-volume.c b/tools/virsh-volume.c index d85ae92..604ada5 100644 --- a/tools/virsh-volume.c +++ b/tools/virsh-volume.c @@ -942,6 +942,29 @@ out: return ret; } + +static const char * +vshVolumeTypeToString(int type) +{ + switch (type) { + case VIR_STORAGE_VOL_FILE: + return N_("file"); + + case VIR_STORAGE_VOL_BLOCK: + return N_("block"); + + case VIR_STORAGE_VOL_DIR: + return N_("dir"); + + case VIR_STORAGE_VOL_NETWORK: + return N_("network"); + + default: + return N_("unknown"); + } +} + + /* * "vol-info" command */ @@ -983,26 +1006,9 @@ cmdVolInfo(vshControl *ctl, const vshCmd *cmd) if (virStorageVolGetInfo(vol, &info) == 0) { double val; const char *unit; - switch (info.type) { - case VIR_STORAGE_VOL_FILE: - vshPrint(ctl, "%-15s %s\n", _("Type:"), _("file")); - break; - - case VIR_STORAGE_VOL_BLOCK: - vshPrint(ctl, "%-15s %s\n", _("Type:"), _("block")); - break; - case VIR_STORAGE_VOL_DIR: - vshPrint(ctl, "%-15s %s\n", _("Type:"), _("dir")); - break; - - case VIR_STORAGE_VOL_NETWORK: - vshPrint(ctl, "%-15s %s\n", _("Type:"), _("network")); - break; - - default: - vshPrint(ctl, "%-15s %s\n", _("Type:"), _("unknown")); - } + vshPrint(ctl, "%-15s %s\n", _("Type:"), + _(vshVolumeTypeToString(info.type))); val = vshPrettyCapacity(info.capacity, &unit); vshPrint(ctl, "%-15s %2.2lf %s\n", _("Capacity:"), val, unit); @@ -1377,19 +1383,8 @@ cmdVolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) /* Convert the returned volume info into output strings */ /* Volume type */ - switch (volumeInfo.type) { - case VIR_STORAGE_VOL_FILE: - volInfoTexts[i].type = vshStrdup(ctl, _("file")); - break; - case VIR_STORAGE_VOL_BLOCK: - volInfoTexts[i].type = vshStrdup(ctl, _("block")); - break; - case VIR_STORAGE_VOL_DIR: - volInfoTexts[i].type = vshStrdup(ctl, _("dir")); - break; - default: - volInfoTexts[i].type = vshStrdup(ctl, _("unknown")); - } + volInfoTexts[i].type = vshStrdup(ctl, + _(vshVolumeTypeToString(volumeInfo.type))); /* Create the capacity output string */ val = vshPrettyCapacity(volumeInfo.capacity, &unit); -- 1.8.4.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list