On 08/21/2018 12:26 PM, Jeff Cody wrote:
> v3 changes:
> Rebased to master
> Patch 2: Wait for pause after mirror instead of error, to gobble the
> right message (Thanks John)
> Patch 2: Replace a hard-coded 'qcow2' with '$IMGFMT', oops.
>
Thanks!
Reviewed-by: John Snow <js...@redhat.com>
> v2 changes:
>
> Patch 1: Added r-b from John, Eric (Thanks)
> Patch 2: Attached an iotest as patch 2
>
> * cc'ed qemu-stable
>
> For the test in patch 2, failure here is the failure output w/o patch 1:
>
> {"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event":
> "JOB_STATUS_CHANGE", "data": {"status": "paused", "id": "testdisk"}}
> -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event":
> "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "testdisk"}}
> -{"return": {}}
> -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event":
> "BLOCK_JOB_ERROR", "data": {"device": "testdisk", "operation": "write",
> "action": "stop"}}
> -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event":
> "JOB_STATUS_CHANGE", "data": {"status": "aborting", "id": "testdisk"}}
> -{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event":
> "BLOCK_JOB_CANCELLED", "data": {"device": "testdisk", "len": 2097152,
> "offset": 1048576, "speed": 0, "type": "mirror"}}
> -*** done
> +QEMU_PROG: blockjob.c:460: block_job_iostatus_reset: Assertion
> `job->job.user_paused && job->job.pause_count > 0' failed.
> +Wrong response matching Assertion on handle 0
> Failures: 229
> Failed 1 of 1 tests
>
> git-backport-diff, v2->v3:
>
> Key:
> [----] : patches are identical
> [####] : number of functional differences between upstream/downstream patch
> [down] : patch is downstream-only
> The flags [FC] indicate (F)unctional and (C)ontextual differences,
> respectively
>
> 001/2:[----] [--] 'block: for jobs, do not clear user_paused until after the
> resume'
> 002/2:[0006] [FC] 'block: iotest to catch abort on forced blockjob cancel'
>
>
> Jeff Cody (2):
> block: for jobs, do not clear user_paused until after the resume
> block: iotest to catch abort on forced blockjob cancel
>
> job.c | 2 +-
> tests/qemu-iotests/229 | 95 ++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/229.out | 23 +++++++++
> tests/qemu-iotests/group | 1 +
> 4 files changed, 120 insertions(+), 1 deletion(-)
> create mode 100755 tests/qemu-iotests/229
> create mode 100644 tests/qemu-iotests/229.out
>
--
—js