From: Kevin Wolf <kwolf@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
Max Reitz <mreitz@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 4/6] qemu-img: Enable progress output for commit
Date: Wed, 9 Apr 2014 10:27:43 +0200 [thread overview]
Message-ID: <20140409082743.GA3288@noname.str.redhat.com> (raw)
In-Reply-To: <53442997.9040200@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1913 bytes --]
Am 08.04.2014 um 18:53 hat Eric Blake geschrieben:
> On 04/08/2014 09:34 AM, Kevin Wolf wrote:
> > Am 08.04.2014 um 14:50 hat Max Reitz geschrieben:
> >> Implement progress output for the commit command by querying the
> >> progress of the block job.
> >>
> >> Signed-off-by: Max Reitz <mreitz@redhat.com>
> >> Reviewed-by: Eric Blake <eblake@redhat.com>
> >> ---
>
> >>
> >> info = block_job_query(job);
> >>
> >> + if (info->offset) {
> >> + if (!mod_offset) {
> >
> > On a fully populated image this doesn't look entirely right. I think the
> > first 2 MB (or whatever the buffer size is) will be disregarded in the
> > calculation, even though they are real work that is done.
>
> Is there any (easy) way to calculate how many dirty sectors remain to be
> committed, to use that rather than the image size as the job percentage
> remaining?
The very first thing that mirror_run() does is building the dirty bitmap
depending on whether clusters are allocated or not. After this loop we
have the necessary information, but we don't really communicate it to
the caller. Max tries to guess the point at which the loop completed by
checking when we make progress for the first time, but that means that
we ignore the first actual buffer.
We could probably simply change mirror_run() to update s->common.len by
subtracting the parts that haven't been marked dirty. Then the caller
could use the values as they are, and query-block-jobs would get more
accurate values for mirroring jobs, too.
commit_run(), for a commit somewhere down in the backing chain, we don't
have this initialising loop yet, but we could add it without adding too
much overhead, I think. qemu-img convert was changed in December to do
the same and noone has complained yet (though it's not in a release yet,
perhaps people will complain once 2.0 is out).
Kevin
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-04-09 8:27 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-08 12:50 [Qemu-devel] [PATCH v2 0/6] qemu-img: Implement commit like QMP Max Reitz
2014-04-08 12:50 ` [Qemu-devel] [PATCH v2 1/6] block-commit: Expose granularity Max Reitz
2014-04-08 15:09 ` Kevin Wolf
2014-04-08 16:20 ` Eric Blake
2014-04-10 14:40 ` Max Reitz
2014-04-08 12:50 ` [Qemu-devel] [PATCH v2 2/6] block-commit: speed is an optional parameter Max Reitz
2014-04-08 15:07 ` Kevin Wolf
2014-04-10 14:41 ` Max Reitz
2014-04-08 16:24 ` Eric Blake
2014-04-08 12:50 ` [Qemu-devel] [PATCH v2 3/6] qemu-img: Implement commit like QMP Max Reitz
2014-04-08 15:14 ` Kevin Wolf
2014-04-08 16:39 ` Eric Blake
2014-04-10 14:32 ` Max Reitz
2014-04-11 12:54 ` Kevin Wolf
2014-04-08 12:50 ` [Qemu-devel] [PATCH v2 4/6] qemu-img: Enable progress output for commit Max Reitz
2014-04-08 15:34 ` Kevin Wolf
2014-04-08 16:53 ` Eric Blake
2014-04-09 8:27 ` Kevin Wolf [this message]
2014-04-10 14:37 ` Max Reitz
2014-04-08 12:50 ` [Qemu-devel] [PATCH v2 5/6] qemu-img: Specify backing file " Max Reitz
2014-04-08 17:01 ` Eric Blake
2014-04-10 14:42 ` Max Reitz
2014-04-10 9:05 ` Fam Zheng
2014-04-10 14:45 ` Max Reitz
2014-04-08 12:50 ` [Qemu-devel] [PATCH v2 6/6] iotests: Commit tests for two-layer backing chains Max Reitz
2014-04-08 17:10 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140409082743.GA3288@noname.str.redhat.com \
--to=kwolf@redhat.com \
--cc=eblake@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).