From: Andrea Bolognani Date: Tue, 21 Apr 2020 17:06:16 +0000 (+0200) Subject: virsh: Fix return code for dump and migrate X-Git-Tag: v6.3.0-rc1~77 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fbc4e81a36d1ce1b15c70cf37f226c0e6d4e6bfd;p=thirdparty%2Flibvirt.git virsh: Fix return code for dump and migrate When the job monitoring logic was refactored, these two commands were not converted properly and the result is that a successful dump or migration (char '0') would be reported as a failed one (int 48) instead. Fixes: dc0771cfa2e78ffecd7c8234538ee548748d7bef Reported-by: Brian Rak Signed-off-by: Andrea Bolognani Reviewed-by: Daniel P. Berrangé --- diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index d52eb7bc2f..502685f44b 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -5436,7 +5436,6 @@ static const vshCmdOptDef opts_dump[] = { static void doDump(void *opaque) { - char ret = '1'; virshCtrlData *data = opaque; vshControl *ctl = data->ctl; const vshCmd *cmd = data->cmd; @@ -5508,7 +5507,7 @@ doDump(void *opaque) } } - ret = '0'; + data->ret = 0; out: #ifndef WIN32 pthread_sigmask(SIG_SETMASK, &oldsigmask, NULL); @@ -5516,7 +5515,6 @@ doDump(void *opaque) #endif /* !WIN32 */ if (dom) virshDomainFree(dom); - data->ret = ret; g_main_loop_quit(data->eventLoop); } @@ -10722,7 +10720,6 @@ static const vshCmdOptDef opts_migrate[] = { static void doMigrate(void *opaque) { - char ret = '1'; virDomainPtr dom = NULL; const char *desturi = NULL; const char *opt = NULL; @@ -11001,14 +10998,14 @@ doMigrate(void *opaque) if (flags & VIR_MIGRATE_PEER2PEER || vshCommandOptBool(cmd, "direct")) { if (virDomainMigrateToURI3(dom, desturi, params, nparams, flags) == 0) - ret = '0'; + data->ret = 0; } else { /* For traditional live migration, connect to the destination host directly. */ virDomainPtr ddom = NULL; if ((ddom = virDomainMigrate3(dom, dconn, params, nparams, flags))) { virshDomainFree(ddom); - ret = '0'; + data->ret = 0; } } @@ -11019,7 +11016,6 @@ doMigrate(void *opaque) #endif /* !WIN32 */ virTypedParamsFree(params, nparams); virshDomainFree(dom); - data->ret = ret; g_main_loop_quit(data->eventLoop); return;