[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Qemu-block] [PATCH for-2.12 v2] qemu-iotests: update 1
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [Qemu-block] [PATCH for-2.12 v2] qemu-iotests: update 185 output |
Date: |
Mon, 9 Apr 2018 15:24:42 +0800 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Wed, Apr 04, 2018 at 06:16:12PM +0200, Max Reitz wrote:
> On 2018-04-04 17:01, Stefan Hajnoczi wrote:
> > Commit 4486e89c219c0d1b9bd8dfa0b1dd5b0d51ff2268 ("vl: introduce
> > vm_shutdown()") added a bdrv_drain_all() call. As a side-effect of the
> > drain operation the block job iterates one more time than before. The
> > 185 output no longer matches and the test is failing now.
> >
> > It may be possible to avoid the superfluous block job iteration, but
> > that type of patch is not suitable late in the QEMU 2.12 release cycle.
> >
> > This patch simply updates the 185 output file. The new behavior is
> > correct, just not optimal, so make the test pass again.
> >
> > Fixes: 4486e89c219c0d1b9bd8dfa0b1dd5b0d51ff2268 ("vl: introduce
> > vm_shutdown()")
> > Cc: Kevin Wolf <address@hidden>
> > Cc: QingFeng Hao <address@hidden>
> > Signed-off-by: Stefan Hajnoczi <address@hidden>
> > ---
> > tests/qemu-iotests/185 | 10 ++++++----
> > tests/qemu-iotests/185.out | 12 +++++++-----
> > 2 files changed, 13 insertions(+), 9 deletions(-)
>
> On tmpfs, this isn't enough to let the test pass. There, the active
> commit job finishes before the quit is sent, resulting in this diff:
>
> --- tests/qemu-iotests/185.out 2018-04-04 18:10:02.015935435 +0200
> +++ tests/qemu-iotests/185.out.bad 2018-04-04 18:10:21.045473817 +0200
> @@ -26,9 +26,9 @@
>
> {"return": {}}
> {"return": {}}
> +{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP},
> "event": "BLOCK_JOB_READY", "data": {"device": "disk", "len": 4194304,
> "offset": 4194304, "speed": 65536, "type": "commit"}}
> {"return": {}}
> {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP},
> "event": "SHUTDOWN", "data": {"guest": false}}
> -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP},
> "event": "BLOCK_JOB_READY", "data": {"device": "disk", "len": 4194304,
> "offset": 4194304, "speed": 65536, "type": "commit"}}
> {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP},
> "event": "BLOCK_JOB_COMPLETED", "data": {"device": "disk", "len":
> 4194304, "offset": 4194304, "speed": 65536, "type": "commit"}}
>
> === Start mirror job and exit qemu ===
>
> This seems to be independent of whether there is actually data on
> TEST_IMG (the commit source), so something doesn't seem quite right with
> the block job throttling here...?
That is a race condition. I can reproduce it on XFS too.
Will see if I can figure it out...
Stefan
signature.asc
Description: PGP signature