]> git.ipfire.org Git - thirdparty/libvirt.git/commit
virsh: cmdBlock*: Remove 'error:' prefix for an empty line
authorPeter Krempa <pkrempa@redhat.com>
Wed, 17 Jun 2020 12:08:22 +0000 (14:08 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 22 Jun 2020 15:22:03 +0000 (17:22 +0200)
commitfc09f3d823aba430d38db0d5ba8cdc5b0a71b9e5
tree6a04bd5053781a8ddf1206f8cce460f07ca75e91
parentda5e5a1e154836abe83077cf477c104b8f98b1d2
virsh: cmdBlock*: Remove 'error:' prefix for an empty line

When a block copy job fails prior to reaching the synchronized phase
while we are waiting for the job to finish virsh would print the
following:

 $ virsh blockcopy backup-test vda /tmp/dst.qcow2 --wait --reuse-external --transient-job
 error:
 Copy failed

The above message looks like we've forgot to print the error message
itself as the line ends after 'error:'. Unfortunately with the current
API design clients have no way of actually getting the error message as
the VIR_DOMAIN_EVENT_ID_BLOCK_JOB(_2) event only reports the status but
not an error and the job then vanishes.

Fix the expectations by using vshPrintExtra instead of vshError:

 $ virsh blockcopy backup-test vda /tmp/dst.qcow2 --wait --reuse-external --transient-job

 Copy failed

Note that the newline is required to avoid printing the 'Copy failed'
message on the same line when printing the job progress percentage.

Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=1847867

Fix the same issue also for block pull and block commit job

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
tools/virsh-domain.c