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
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.
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
--
2.17.1
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 <jsnow@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
On Tue, Aug 21, 2018 at 12:26:18PM -0400, 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.
>
> 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
>
> --
> 2.17.1
>
Thanks,
Applied to my block branch:
git://github.com/codyprime/qemu-kvm-jtc block
-Jeff
© 2016 - 2025 Red Hat, Inc.