[libvirt] [PATCH] virsh: Fix flag semantics and docs for "desc" command

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

On 02/08/2012 05:16 AM, Peter Krempa wrote:
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(-)
+++ 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>]
Missing some []; should be: [[I<--live>] [I<--config>] | [I<--current>]] ... ACK with that fixed. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org

On 02/08/2012 04:07 PM, Eric Blake wrote:
On 02/08/2012 05:16 AM, Peter Krempa wrote:
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(-)
+++ 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>]
Missing some []; should be:
[[I<--live>] [I<--config>] | [I<--current>]] ...
ACK with that fixed.
Fixed & pushed. Thanks! Peter
participants (2)
-
Eric Blake
-
Peter Krempa