[dm-devel] Kernel v4.1-rc1 + MQ dm-multipath + MQ SRP oops

Mike Snitzer snitzer at redhat.com
Wed Apr 29 13:43:17 UTC 2015


On Wed, Apr 29 2015 at  9:24am -0400,
Christoph Hellwig <hch at lst.de> wrote:

> On Tue, Apr 28, 2015 at 05:54:57PM -0400, Mike Snitzer wrote:
> > Turns out that after running hch's script, with multipathd having setup
> > an mpath device ontop of tcm_loop, if I just do:
> > 
> > tcm_loop --unload
> > 
> > (tcm_loop appears to allow me to remove the devices out from underneath dm-multipath)
> 
> That has nothing to do with tcm_loop.  SCSI devices can get unregistered
> any time, and we use refcountin to ensure the structures stay in place
> forever.
> 
> See my reply to Bart for what I suspect is the real issue.

Already saw it, see my reply ;)

Your fix only applies to he case where DM_MAPIO_REQUEUE is returned from
map_request() due to .map_rq or .clone_and_map_rq failing.  It doesn't
apply to IO completion, example stack here:
https://www.redhat.com/archives/dm-devel/2015-April/msg00157.html

SCSI unregistering shouldn't nuke an in-flight request's queue
(refcounting should work like you say) -- so my crashes are still
unexplained, no?




More information about the dm-devel mailing list