From: Chen Hanxiao <chenhanxiao@xxxxxxxxx> #virsh list --uuid --name 49c765a0-25e7-40d0-964f-dac99724b32c c7 918f1dd6-b19f-412b-ba17-d113bad89af8 f23 Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxx> --- v3: add virsh.pod sections v2: drop uuid-name option, enable both --uuid and --name tools/virsh-domain-monitor.c | 14 ++++++++------ tools/virsh.pod | 10 ++++++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c index 0a93949..c712fa5 100644 --- a/tools/virsh-domain-monitor.c +++ b/tools/virsh-domain-monitor.c @@ -1844,12 +1844,8 @@ cmdList(vshControl *ctl, const vshCmd *cmd) FILTER("state-shutoff", VIR_CONNECT_LIST_DOMAINS_SHUTOFF); FILTER("state-other", VIR_CONNECT_LIST_DOMAINS_OTHER); - if (optTable + optName + optUUID > 1) { - vshError(ctl, "%s", - _("Only one argument from --table, --name and --uuid " - "may be specified.")); - return false; - } + VSH_EXCLUSIVE_OPTIONS("table", "name"); + VSH_EXCLUSIVE_OPTIONS("table", "uuid"); if (!optUUID && !optName) optTable = true; @@ -1907,6 +1903,12 @@ cmdList(vshControl *ctl, const vshCmd *cmd) state == -2 ? _("saved") : virshDomainStateToString(state)); } + } else if (optUUID && optName) { + if (virDomainGetUUIDString(dom, uuid) < 0) { + vshError(ctl, "%s", _("Failed to get domain's UUID")); + goto cleanup; + } + vshPrint(ctl, "%-36s %-30s\n", uuid, virDomainGetName(dom)); } else if (optUUID) { if (virDomainGetUUIDString(dom, uuid) < 0) { vshError(ctl, "%s", _("Failed to get domain's UUID")); diff --git a/tools/virsh.pod b/tools/virsh.pod index 601cb44..d7cd10e 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -524,8 +524,14 @@ Note that this flag does not filter the list of domains. If I<--name> is specified, domain names are printed instead of the table formatted one per line. If I<--uuid> is specified domain's UUID's are printed instead of names. Flag I<--table> specifies that the legacy table-formatted -output should be used. This is the default. All of these are mutually -exclusive. +output should be used. This is the default. + +If both I<--name> and I<--uuid> are specified, domain UUID's and names +are printed side by side without any header. Flag I<--table> specifies +that the legacy table-formatted output should be used. This is the +default if neither I<--name> nor I<--uuid> are specified. Options +I<--uuid> and I<--name> are mutually exclusive if option I<--table> is +specified. If I<--title> is specified, then the short domain description (title) is printed in an extra column. This flag is usable only with the default -- 1.8.3.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list