Hi Ben,
(The log message about Write Protect status also reports the underlying SCSI device flag and not the combined ro flag, but maybe that was intentional.)
I'd prefer for the printk in question to reflect the device-reported state, not the state of the block device.
I think this commit should be reverted, both in stable and upstream. A proper fix would involve splitting the ro flag into two flags—one controlled by user-space and one read from the device—with the effective read-only status being the logical-or of those two.
I don't have a problem with distinguishing between current state and an override flag in the block layer. However, I think an incremental patch to fix that up is fine. SCSI devices don't typically switch write protection state on a whim.