[libvirt] [PATCH RFC] virsh: Fix semantics of --config for "update-device" command

Eric Blake eblake at redhat.com
Thu Mar 21 02:56:43 UTC 2013


On 03/15/2013 10:37 AM, Peter Krempa wrote:
> The man page states that with --config the next boot is affected. This
> can be understood as if _only_ the next bood was affected. This isn't

s/bood/boot/

> true if the machine is running.
> 
> This patch adds the full --live, --config, --current infrastructure and
> tweaks stuff to correctly support the obsolete --persistent flag.
> ---
> 
> Notes:
>     - This patch will be greatly simplified with macros from:
>       http://www.redhat.com/archives/libvir-list/2013-March/msg00268.html
>     
>     - There are multiple places like this in virsh that will need update too.
>       (detach-device for example)

I take it you plan on doing those after seeing how this RFC goes?

> 
>     - https://bugzilla.redhat.com/show_bug.cgi?id=921398
> 
>  tools/virsh-domain.c | 53 +++++++++++++++++++++++++++++++++++++++++-----------
>  tools/virsh.pod      | 22 +++++++++++++++-------
>  2 files changed, 57 insertions(+), 18 deletions(-)
> 

> +++ b/tools/virsh-domain.c
> @@ -9304,13 +9304,21 @@ static const vshCmdOptDef opts_update_device[] = {
>       .help = N_("XML file")
>      },
>      {.name = "persistent",
> -     .type = VSH_OT_ALIAS,
> -     .help = "config"
> +     .type = VSH_OT_BOOL,
> +     .help = N_("make live change persistent")

So you are documenting this option again, now that it doesn't match up
to any of the other options.

> +++ b/tools/virsh.pod

> 
> +If I<--live> is specified, affect a running domain.
> +If I<--config> is specified, affect the next startup of a persistent domain.
> +If I<--current> is specified, affect the current domain state.
> +Both I<--live> and I<--config> flags may be given, but I<--current> is
> +exclusive. Not specifying any flag is the same as specifying I<--current>.
> +
> +For compatibility purposes, I<--persistent> is alias of I<--config> and
> +I<--live> if the domain is running. This flag isn't compatible with the
> +other domain status flags.

Rather:

For compatibility purposes, I<--persistent> behaves like I<--config> for
an offline domain, and like I<--live> I<--config> for a running domain.

Why must we force mutual exclusion?  That is, --persistent --current
doesn't make sense, but --persistent --config is just redundant, and
--persistent --live is redundant for a running domain (it would fail for
an offline domain, though).  In fact, the semantics of --persistent seem
a bit nicer; should we be adding this option to all the commands that
support both --config and --live, since it is friendlier to type a
single option that behaves correctly according to domain state than it
is to figure out whether it is safe to use --live?

At any rate, I think this patch is moving in the right direction.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130320/d8705719/attachment-0001.sig>


More information about the libvir-list mailing list