Changes from v1: Patch 2: Has v1 patch 8 (do not blindly xset bs->read_only) squashed into it (thanks Stefan) COW -> "copy-on-read" (Thanks John) Drop unneeded call in vvfat, and bypass enable_write_target (Stefan)
Patch 5: Rename bdrv_try_... to bdrv_can_set_read_only() (Thanks John, Stefan) Patch 6: Use "reopen_state->flags" not "reopen_state->bs->open_flags" (Thanks John) This series does two things: 1.) Cleans up some of the logic behind setting the read_only flag for a BDS in the block layer, so that it is done consistently (and rules are applied consistently), and 2.) Adds .bdrv_reopen_prepare() implementation for RBD, so that block jobs can be run on backing chains that have rbd protocol nodes. Jeff Cody (8): block: add bdrv_set_read_only() helper function block: do not set BDS read_only if copy_on_read enabled block: honor BDRV_O_ALLOW_RDWR when clearing bs->read_only block: code movement block: introduce bdrv_can_set_read_only() block: use bdrv_can_set_read_only() during reopen block/rbd - update variable names to more apt names block/rbd: Add support for reopen() block.c | 56 +++++++++++++++++++++++++++++++++++--------- block/bochs.c | 5 +++- block/cloop.c | 5 +++- block/dmg.c | 6 ++++- block/rbd.c | 65 +++++++++++++++++++++++++++++++++++++-------------- block/vvfat.c | 19 +++++++++++---- include/block/block.h | 2 ++ 7 files changed, 123 insertions(+), 35 deletions(-) -- 2.9.3