On Fri, Aug 3, 2018 at 12:06 PM Mike Snitzer <snitzer@xxxxxxxxxx> wrote: > > How does that pass for a fix to this issue? > > That'll unilaterally mark all dm device's readonly. Well, if it wasn't honored before anyway, then... But yes, a much more targeted patch would be preferred. And in fact, maybe the right thing to do is to not revert the original commit entirely, but instead just weaken it a lot. Turn the "you did a write request on a RO disk" into a WARN_ON_ONCE() instead of a hard error. Something like the attached patch. WGH, do you build your own kernels? Does this attached (untested) patch make things work for you? It should give a big warning, but let the old behavior through.. Linus
block/blk-core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c index f84a9b7b6f5a..95ca45bc4fc9 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -2155,11 +2155,12 @@ static inline bool bio_check_ro(struct bio *bio, struct hd_struct *part) if (part->policy && op_is_write(bio_op(bio))) { char b[BDEVNAME_SIZE]; - printk(KERN_ERR + WARN_ONCE( "generic_make_request: Trying to write " "to read-only block-device %s (partno %d)\n", bio_devname(bio, b), part->partno); - return true; + /* Older lvm-tools actually trigger this */ + return false; } return false;
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel