On Fri, Jan 06 2012 at 5:55pm -0500, Mike Snitzer <snitzer@xxxxxxxxxx> wrote: > On Fri, Jan 06 2012 at 5:32pm -0500, > Mike Snitzer <snitzer@xxxxxxxxxx> wrote: > > > On Fri, Jan 06 2012 at 2:30pm -0500, > > Christophe Varoqui <christophe.varoqui@xxxxxxxxx> wrote: > > > > > Hannes, list, > > > > > > reading your kernel path there > > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=63583cca745f440167bf27877182dc13e19d4bcf > > > I wonder if this is expected that a write io on a write protected device > > > is returned to the queue ? I would have guessed it qualified as > > > TARGET_ERROR, hence not retryable (and not causing path invalidation). > > > > > > In the following log the sense code is clearly seen as > > > Sense Key : Data Protect [current] > > > Add. Sense: Write protected > > > > > > The log is grabbed from a el6 kernel rev. 131 which include the > > > mentioned patch (since rev. 110 iirc). > > > > > > Care to confirm something is fishy there ? Aha, now I remember, I applied all the changes for differentiated SCSI IO errors for -131.el6 (aka RHEL6.1) _except_ I overlooked one disjoint yet crucial commit that went upstream much earlier, see this one-liner: http://git.kernel.org/linus/ad63082626f99651d261ccd8698ce4e997362f7e So the code for differentiated IO errors was dormant in RHEL6.1, it was noticed before 6.1 GA'd but was deemed too risky to enable so late in the 6.1 release cycle. It has since been enabled in RHEL6.2. And yes it was a pretty embarassing oversight at the time... now you've allowed me to relive that embarassment ;) Long story short, apply that patch or upgrade to the RHEL6.2 kernel. HTH, Mike -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel