[PATCH] virsh: Simplify @flags handing in cmdSetmem() and cmdSetmaxmem()

Daniel Henrique Barboza danielhb413 at gmail.com
Fri Jan 22 17:40:55 UTC 2021


Michal,


I see that this patch was sent standalone in the ML, and the cover-letter
of the series doesn't mention it. Is this an ooopsie? Should I review this
patch together with the rest of the series?


Thanks,


DHB


On 1/22/21 9:50 AM, Michal Privoznik wrote:
> What code tries to achieve is that if no flags were provided to
> either 'setmem' or 'setmaxmem' commands then the old (no flags)
> API is called to be able to communicate with older daemons.
> Well, the code can be simplified a bit.
> 
> Note that with this change the old no flag version of APIs is
> used more often. Previously if --current argument was given it
> resulted in *Flags() version to be called even though it is not
> necessary - VIR_DOMAIN_AFFECT_CURRENT is implied.
> 
> Therefore, this change in fact allows virsh to talk with broader
> set of daemons.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>   tools/virsh-domain.c | 14 ++++----------
>   1 file changed, 4 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
> index 2bb136333f..9746117bdb 100644
> --- a/tools/virsh-domain.c
> +++ b/tools/virsh-domain.c
> @@ -9018,9 +9018,6 @@ cmdSetmem(vshControl *ctl, const vshCmd *cmd)
>           flags |= VIR_DOMAIN_AFFECT_CONFIG;
>       if (live)
>           flags |= VIR_DOMAIN_AFFECT_LIVE;
> -    /* none of the options were specified */
> -    if (!current && !live && !config)
> -        flags = -1;
>   
>       if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
>           return false;
> @@ -9037,7 +9034,7 @@ cmdSetmem(vshControl *ctl, const vshCmd *cmd)
>       }
>       kibibytes = VIR_DIV_UP(bytes, 1024);
>   
> -    if (flags == -1) {
> +    if (flags == 0) {
>           if (virDomainSetMemory(dom, kibibytes) != 0)
>               ret = false;
>       } else {
> @@ -9090,7 +9087,7 @@ cmdSetmaxmem(vshControl *ctl, const vshCmd *cmd)
>       bool config = vshCommandOptBool(cmd, "config");
>       bool live = vshCommandOptBool(cmd, "live");
>       bool current = vshCommandOptBool(cmd, "current");
> -    unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT | VIR_DOMAIN_MEM_MAXIMUM;
> +    unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT;
>   
>       VSH_EXCLUSIVE_OPTIONS_VAR(current, live);
>       VSH_EXCLUSIVE_OPTIONS_VAR(current, config);
> @@ -9099,9 +9096,6 @@ cmdSetmaxmem(vshControl *ctl, const vshCmd *cmd)
>           flags |= VIR_DOMAIN_AFFECT_CONFIG;
>       if (live)
>           flags |= VIR_DOMAIN_AFFECT_LIVE;
> -    /* none of the options were specified */
> -    if (!current && !live && !config)
> -        flags = -1;
>   
>       if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
>           return false;
> @@ -9118,13 +9112,13 @@ cmdSetmaxmem(vshControl *ctl, const vshCmd *cmd)
>       }
>       kibibytes = VIR_DIV_UP(bytes, 1024);
>   
> -    if (flags == -1) {
> +    if (flags == 0) {
>           if (virDomainSetMaxMemory(dom, kibibytes) != 0) {
>               vshError(ctl, "%s", _("Unable to change MaxMemorySize"));
>               ret = false;
>           }
>       } else {
> -        if (virDomainSetMemoryFlags(dom, kibibytes, flags) < 0) {
> +        if (virDomainSetMemoryFlags(dom, kibibytes, flags | VIR_DOMAIN_MEM_MAXIMUM) < 0) {
>               vshError(ctl, "%s", _("Unable to change MaxMemorySize"));
>               ret = false;
>           }
> 




More information about the libvir-list mailing list