How far should BLKROSET/set_device_ro() go?

From: Eric Sandeen
Date: Tue Feb 06 2007 - 00:03:29 EST


While looking at another bug a while ago, I noticed that in 2.6 at least, set_device_ro() sets the policy on the hd_struct to mark it readonly, but it appears that IO is only really blocked from userspace, via generic_write_checks().

There are bdev_read_only() checks in other places, but nothing in a common spot to reject all possible IO.

Should we have something in generic_make_request() to reject ALL IO on a readonly bdev, or is that further than the policy is supposed to go? Or is it up to each location that might possibly issue that IO to check it and be well-behaved?

The motivation for this investigation was ext3 happily doing orphan inode recovery on read-only lvm snapshot....

Thanks,

-Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/