This patch fixes the domain modification impact flags for tie virsh desc command to match the new semantics and fix the docs to match actual behavior. --- tools/virsh.c | 21 +++++++++++++++------ tools/virsh.pod | 12 +++++------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index c107d8c..66ba61c 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -1051,7 +1051,7 @@ cmdDesc(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) virDomainPtr dom; bool config = vshCommandOptBool(cmd, "config"); bool live = vshCommandOptBool(cmd, "live"); - /* current is ignored */ + bool current = vshCommandOptBool(cmd, "current"); bool title = vshCommandOptBool(cmd, "title"); bool edit = vshCommandOptBool(cmd, "edit"); @@ -1068,6 +1068,19 @@ cmdDesc(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) bool ret = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; + if (current) { + if (live || config) { + vshError(ctl, "%s", _("--current must be specified exclusively")); + return false; + } + flags = VIR_DOMAIN_AFFECT_CURRENT; + } else { + if (config) + flags |= VIR_DOMAIN_AFFECT_CONFIG; + if (live) + flags |= VIR_DOMAIN_AFFECT_LIVE; + } + if (!vshConnectionUsability(ctl, ctl->conn)) return false; @@ -1084,10 +1097,6 @@ cmdDesc(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) virBufferAdd(&buf, opt->data, -1); } - if (live) - flags |= VIR_DOMAIN_AFFECT_LIVE; - if (config) - flags |= VIR_DOMAIN_AFFECT_CONFIG; if (title) type = VIR_DOMAIN_METADATA_TITLE; else @@ -1122,7 +1131,7 @@ cmdDesc(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) /* strip a possible newline at the end of file; some * editors enforce a newline, this makes editing the title - * more convinient */ + * more convenient */ if (title && (tmpstr = strrchr(desc_edited, '\n')) && *(tmpstr+1) == '\0') diff --git a/tools/virsh.pod b/tools/virsh.pod index a85da13..21e0f57 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -435,7 +435,7 @@ Define a domain from an XML <file>. The domain definition is registered but not started. If domain is already running, the changes will take effect on the next boot. -=item B<desc> [I<--live> | I<--config>] [I<--title>] [I<--edit>] +=item B<desc> [[I<--live> I<--config> | I<--current>] [I<--title>] [I<--edit>] [I<--new-desc> New description or title message] Show or modify description and title of a domain. These values are user @@ -443,12 +443,10 @@ fields that allow to store arbitrary textual data to allow easy identification of domains. Title should be short, although it's not enforced. Flags I<--live> or I<--config> select whether this command works on live -or persistent definitions of the domain. By default both are influenced, while -modifying and running definition is used while reading the note. - -If both I<--live> and I<--config> are specified, the I<--config> option takes -precedence on getting the current description and both live configuration -and config are updated while setting the description. +or persistent definitions of the domain. If both I<--live> and I<--config> +are specified, the I<--config> option takes precedence on getting the current +description and both live configuration and config are updated while setting +the description. I<--current> is exclusive and implied if none of these was specified. Flag I<--edit> specifies that an editor with the contents of current description or title should be opened and the contents saved back afterwards. -- 1.7.6.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list