Currently, you cannot cancel a mirror job without the @force flag set. This is intentional once source and target are in sync, but probably not so much before that happens. The main reason for me thinking this is because it is an undocumented change in 2.12.0 in respect to 2.11.
(b76e4458b1eb3c32e9824fe6aa51f67d2b251748 only notes a behavior change after READY, but not before.) This series depends on Stefan’s patch “block/mirror: honor ratelimit again” (which is in Jeff’s queue). Based-on: <20180424123527.19168-1-stefa...@redhat.com> Max Reitz (2): block/mirror: Make cancel always cancel pre-READY iotests: Add test for cancelling a mirror job block/mirror.c | 4 +- tests/qemu-iotests/218 | 138 +++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/218.out | 30 ++++++++++ tests/qemu-iotests/group | 1 + 4 files changed, 172 insertions(+), 1 deletion(-) create mode 100755 tests/qemu-iotests/218 create mode 100644 tests/qemu-iotests/218.out -- 2.14.3