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 <[email protected]>
> Cc: QingFeng Hao <[email protected]>
> Signed-off-by: Stefan Hajnoczi <[email protected]>
> ---
> 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...?
Max