[PATCH] virsh: Fix return code for dump
Michal Privoznik
mprivozn at redhat.com
Mon May 4 12:19:38 UTC 2020
On 5/4/20 2:09 PM, Andrea Bolognani wrote:
> On Mon, 2020-05-04 at 09:48 +0000, Xuyandong (Yandong Xu) wrote:
>> +++ b/tools/virsh-domain.c
>> @@ -5522,7 +5522,6 @@ static bool
>> cmdDump(vshControl *ctl, const vshCmd *cmd)
>> {
>> virDomainPtr dom;
>> - bool ret = false;
>> bool verbose = false;
>> const char *name = NULL;
>> const char *to = NULL;
>> @@ -5556,12 +5555,12 @@ cmdDump(vshControl *ctl, const vshCmd *cmd)
>>
>> virThreadJoin(&workerThread);
>>
>> - if (!ret)
>> + if (!data.ret)
>> vshPrintExtra(ctl, _("\nDomain %s dumped to %s\n"), name, to);
>>
>> cleanup:
>> virshDomainFree(dom);
>> - return !ret;
>> + return !data.ret;
>> }
>
> This is in the same vein as fbc4e81a36d1, and I think we should
> definitely squeeze it in before release, so that's a
>
> Signed-off-by: Andrea Bolognani <abologna at redhat.com>
>
> from me. Dan, what do you think?
>
I'm in the middle of review too. But I find !data.ret a bit confusing.
The function is returning a boolean and not a pointer or an int. So how
about 'return data.ret != 0'? I know John was against using 'if (!int)'
and it kind of makes sense.
Or even better, we can use our regular pattern and keep @ret, and do
something like:
if (data.ret < 0)
goto cleanup;
vshPrintExtra()
ret = true;
...
return ret;
This is something that is perfectly fixable by committer, so no need to
resend. I too agree that this is something that needs fixing and the
sooner we fix it the better.
Reviewed-by: Michal Privoznik <mprivozn at redhat.com>
Michal
More information about the libvir-list
mailing list