This is the first part of some fixes to bdrv_reopen(), which seems reasonable enough to merge for 2.10.
There is much more wrong with bdrv_reopen() currently, especially with respect to op blocker permissions (basically the required permissions can change based on the options used in bdrv_reopen(), and both things affect the whole tree and aren't integrated with each other at all), but I have little hope to get this fixed before 2.10, so let's start with what is ready now. Kevin Wolf (5): block: Fix order in bdrv_replace_child() block: Allow reopen rw without BDRV_O_ALLOW_RDWR block: Set BDRV_O_ALLOW_RDWR during rw reopen qemu-io: Allow reopen read-write qemu-iotests: Test reopen between read-only and read-write include/block/block.h | 3 +- block.c | 20 +++++++++----- qemu-io-cmds.c | 19 +++++++++++-- tests/qemu-iotests/187 | 69 ++++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/187.out | 18 ++++++++++++ tests/qemu-iotests/group | 1 + 6 files changed, 120 insertions(+), 10 deletions(-) create mode 100755 tests/qemu-iotests/187 create mode 100644 tests/qemu-iotests/187.out -- 2.13.3