This is basically a supplementary fix of 06c3916b. On 512 disks, the crash only happens when copy-on-read is enabled, which is covered by the previou fix. But on 4k disks the write request that triggers the notifier itself may be serialised, in which case the read req from backup_do_cow will still be serialised in bdrv_aligned_preadv, resulting in the same assertion failure.
Fam Zheng (3): block: Don't wait serialising for non-COR read requests iotests: Add "add_drive_raw" method iotests: Add regresion test case for write notifier assertion failure block/backup.c | 2 +- block/io.c | 12 +++++++----- include/block/block.h | 4 ++-- tests/qemu-iotests/056 | 25 +++++++++++++++++++++++++ tests/qemu-iotests/056.out | 4 ++-- tests/qemu-iotests/iotests.py | 5 +++++ trace-events | 2 +- 7 files changed, 43 insertions(+), 11 deletions(-) -- 2.4.3