When the block job would fail while watching it using the "--wait"
option for blockcopy, virsh would rather unhelpfully report:
$ virsh blockcopy vm hdc /tmp/raw.img --granularity 4096 --verbose --wait
Now in mirroring phase
Add a special case when the block job vanishes while waiting for it to
finish to improve the message:
$ virsh blockcopy vm hdc /tmp/raw.img --granularity 8192 --verbose --wait
error: Block Copy unexpectedly failed
---
tools/virsh-domain.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 1a124f3..4e890f4 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -2312,8 +2312,11 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd)
vshError(ctl, _("failed to query job for disk %s"), path);
goto cleanup;
}
- if (result == 0)
- break;
+
+ if (result == 0) {
+ vshError(ctl, _("Block Copy unexpectedly failed"));
+ goto cleanup;
+ }
if (verbose)
vshPrintJobProgress(_("Block Copy"), info.end - info.cur,
info.end);
--
2.4.1