[adding Stefan in cc, as trace maintainer] On 03/09/2017 09:15 PM, Eric Blake wrote:
Perhaps I should update the subject to mention trace? > trace-events lists the parameters for mirror_yield consistently > with other events (cnt just after s, like in mirror_before_sleep; > in_flight last, like in mirror_yield_in_flight). But the callers > were passing parameters in the wrong order, leading to poor trace > messages, including type truncation when there are more than 4G > dirty sectors involved. > > Signed-off-by: Eric Blake <ebl...@redhat.com> > --- > block/mirror.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/block/mirror.c b/block/mirror.c > index 4f3a5cb..1c403c5 100644 > --- a/block/mirror.c > +++ b/block/mirror.c > @@ -633,7 +633,7 @@ static int coroutine_fn mirror_dirty_init(MirrorBlockJob > *s) > } > > if (s->in_flight >= MAX_IN_FLIGHT) { > - trace_mirror_yield(s, s->in_flight, s->buf_free_count, -1); > + trace_mirror_yield(s, -1, s->buf_free_count, s->in_flight); > mirror_wait_for_io(s); > continue; > } > @@ -808,7 +808,7 @@ static void coroutine_fn mirror_run(void *opaque) > s->common.iostatus == BLOCK_DEVICE_IO_STATUS_OK) { > if (s->in_flight >= MAX_IN_FLIGHT || s->buf_free_count == 0 || > (cnt == 0 && s->in_flight > 0)) { > - trace_mirror_yield(s, s->in_flight, s->buf_free_count, cnt); > + trace_mirror_yield(s, cnt, s->buf_free_count, s->in_flight); > mirror_wait_for_io(s); > continue; > } else if (cnt != 0) { > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature