v7: - Rebase. - Address comments from Kevin and Max. - Option rename: "exclusive" -> "auto". [Kevin] - Option placement: "root BDS" -> "node". It's still a bit controversy where the option should go, but so far it seems per node is the safest. - Assert in bdrv_open_common that lock flags don't conflict. [Kevin] - Skip qemu_dup patches as they are already merged. - Fix a wrong assertion in raw_reopen_to_unlock. - Put "static int" to the same line in raw-posix.c. [Kevin] - Remove superfluous blank lines. - Add comment in raw posix's sophisticated reopen code. [Kevin] - .bdrv_lockf is kept on the contrary to separate .bdrv_lock and .bdrv_unlock, because having the BdrvLockfCmd in the interface makes implementing the reopen logic as is done in this series much easier. - Drop the unnecessary mirror target locking patch. [Max] - Add a patch to let 130 work with image locking.
Fam Zheng (20): block: Add flag bits for image locking qapi: Add lock-mode in blockdev-add options block: Add and parse "lock-mode" option for image locking block: Introduce image file locking osdep: Add qemu_lock_fd and qemu_unlock_fd raw-posix: Add image locking support qemu-io: Add "-L" option for BDRV_O_NO_LOCK qemu-img: Add "-L" option to sub commands qemu-img: Update documentation of "-L" option qemu-nbd: Add "--no-lock/-L" option block: Don't lock drive-backup target image in none mode qemu-iotests: 046: Move version detection out from verify_io qemu-iotests: Wait for QEMU processes before checking image in 091 qemu-iotests: 030: Disable image locking when checking test image iotests: 087: Disable image locking in cases where file is shared iotests: 130: Check image info locklessly iotests: Disable image locking in 085 tests: Use null-co:// instead of /dev/null block: Turn on image locking by default qemu-iotests: Add test case 153 for image locking block.c | 80 +++++++++ block/raw-posix.c | 298 ++++++++++++++++++++++++++++++- blockdev.c | 14 ++ include/block/block.h | 14 +- include/block/block_int.h | 5 + include/qemu/osdep.h | 2 + qapi/block-core.json | 19 +- qemu-img-cmds.hx | 44 ++--- qemu-img.c | 92 ++++++++-- qemu-img.texi | 3 + qemu-io.c | 24 ++- qemu-nbd.c | 7 +- qemu-nbd.texi | 2 + qemu-options.hx | 1 + tests/drive_del-test.c | 2 +- tests/nvme-test.c | 2 +- tests/qemu-iotests/030 | 2 +- tests/qemu-iotests/046 | 22 +-- tests/qemu-iotests/085 | 3 +- tests/qemu-iotests/087 | 6 + tests/qemu-iotests/091 | 3 + tests/qemu-iotests/091.out | 1 + tests/qemu-iotests/130 | 4 +- tests/qemu-iotests/130.out | 4 +- tests/qemu-iotests/153 | 197 +++++++++++++++++++++ tests/qemu-iotests/153.out | 426 +++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/group | 1 + tests/usb-hcd-uhci-test.c | 2 +- tests/usb-hcd-xhci-test.c | 2 +- tests/virtio-blk-test.c | 2 +- tests/virtio-scsi-test.c | 4 +- util/osdep.c | 29 +++ 32 files changed, 1246 insertions(+), 71 deletions(-) create mode 100755 tests/qemu-iotests/153 create mode 100644 tests/qemu-iotests/153.out -- 2.7.4