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 (9): 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_try_set_read_only() block: use bdrv_try_set_read_only() during reopen block/rbd - update variable names to more apt names block/rbd: do not blindly set bs->read_only 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 | 15 +++++++++--- include/block/block.h | 2 ++ 7 files changed, 120 insertions(+), 34 deletions(-) -- 2.9.3