This is split from series "[Qemu-devel] [PATCH v20 00/15] Drop in_use from BlockDriverState and enable point-in-time snapshot exporting over NBD", with a new patch 06 to avoid backing_blocker assertion violation.
v2: Address Stefan's comments on last two patches from v1, and add a patch 8 to drop one more redundant bdrv_refresh_limits() after bdrv_set_backing_hd(). Thanks for reviewing! Fam Fam Zheng (8): block: Add BlockOpType enum block: Introduce op_blockers to BlockDriverState block: Replace in_use with operation blocker block: Move op_blocker check from block_job_create to its caller block: Add bdrv_set_backing_hd() block: Use bdrv_set_backing_hd everywhere block: Add backing_blocker in BlockDriverState block: Drop redundant bdrv_refresh_limits block-migration.c | 7 +- block.c | 152 +++++++++++++++++++++++++++++++--------- block/mirror.c | 2 +- block/stream.c | 4 +- block/vvfat.c | 2 +- blockdev.c | 27 ++++--- blockjob.c | 14 ++-- hw/block/dataplane/virtio-blk.c | 18 +++-- include/block/block.h | 29 +++++++- include/block/block_int.h | 9 ++- include/block/blockjob.h | 3 + 11 files changed, 204 insertions(+), 63 deletions(-) -- 1.9.2