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 <kw...@redhat.com> > > Cc: QingFeng Hao <ha...@linux.vnet.ibm.com> > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > > --- > > 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