On 21/09/15 19:46, Peter Krempa wrote:
> Although 0 length block jobs aren't entirely useful, the output of virsh
> blockjob is empty due to the condition that suppresses the output for
> migration jobs that did not start. Since the only place that actually
> uses the condition that suppresses the output is in migration, let's
> move the check there and thus add support for 0 of 0 equaling to 100%.
>
> Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1196711
> ---
> tools/virsh-domain.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
> index 73c476d..fb138d5 100644
> --- a/tools/virsh-domain.c
> +++ b/tools/virsh-domain.c
> @@ -1700,10 +1700,6 @@ virshPrintJobProgress(const char *label, unsigned long long
remaining,
> {
> int progress;
>
> - if (total == 0)
> - /* migration has not been started */
> - return;
> -
> if (remaining == 0) {
> /* migration has completed */
> progress = 100;
> @@ -4401,7 +4397,7 @@ virshWatchJob(vshControl *ctl,
> ret = virDomainGetJobInfo(dom, &jobinfo);
> pthread_sigmask(SIG_SETMASK, &oldsigmask, NULL);
> if (ret == 0) {
> - if (verbose)
> + if (verbose && jobinfo.dataTotal > 0)
> virshPrintJobProgress(label, jobinfo.dataRemaining,
> jobinfo.dataTotal);
>
Seems reasonable to me, ACK.