[dm-devel] Write protected devices, unexpected dm-multipath queueing

Mike Snitzer snitzer at redhat.com
Fri Jan 6 23:20:56 UTC 2012


On Fri, Jan 06 2012 at  5:55pm -0500,
Mike Snitzer <snitzer at redhat.com> wrote:

> On Fri, Jan 06 2012 at  5:32pm -0500,
> Mike Snitzer <snitzer at redhat.com> wrote:
> 
> > On Fri, Jan 06 2012 at  2:30pm -0500,
> > Christophe Varoqui <christophe.varoqui at gmail.com> 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




More information about the dm-devel mailing list