reading your kernel path there
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=63583cca745f440167bf2787718 2dc13e19d4bcf
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 ?
Regards,
cvaroqui
====
Jan 6 02:54:20 wheeler multipathd: 360000970000292602571533030384444:
remaining active paths: 0
Jan 6 02:54:20 wheeler multipathd: 360000970000292602571533030384444:
Entering recovery mode: max_retries=5
Jan 6 02:54:23 wheeler multipathd: 360000970000292602571533030384444:
sdbq - tur checker reports path is up
Jan 6 02:54:23 wheeler multipathd: 68:64: reinstated
Jan 6 02:54:23 wheeler multipathd: 360000970000292602571533030384444:
queue_if_no_path enabled
Jan 6 02:54:23 wheeler multipathd: 360000970000292602571533030384444:
Recovered to normal mode
Jan 6 02:54:23 wheeler multipathd: 360000970000292602571533030384444:
remaining active paths: 1
Jan 6 02:54:23 wheeler kernel: sd 2:0:0:15: [sdbq] Unhandled sense code