[dm-devel] v4.3-rc2 dm-mq bug

Mike Snitzer snitzer at redhat.com
Fri Sep 25 18:49:40 UTC 2015


On Fri, Sep 25 2015 at 11:34am -0400,
Bart Van Assche <bart.vanassche at sandisk.com> wrote:

> On 09/24/2015 04:01 PM, Mike Snitzer wrote:
> >I'm not referring to the removal of a DM mpath device's underlying SRP
> >paths.  The __dm_destroy() path is only used when destroying a DM
> >device.  The only DM device used by multipath is the DM mpath device.
> >
> >So somehow your test is running the equivalent of:
> >  dmsetup remove <toplevel_DM_mpath_device>
> >
> >While IO is being issued directly to that device.
> 
> Hello Mike,
> 
> One of the steps in my test is to remove all dm devices that have
> been created on top of SRP paths. The call trace at the start of
> this thread was triggered by the following command (unloading the
> SRP initiator is only possible after all holders of SRP paths have
> been removed):
> 
> for p in /sys/class/srp_remote_ports/*; do echo 1 >$p/delete & done;
> wait; dmsetup remove_all; modprobe -r ib_srp
> 
> The I/O was probably generated by multipathd itself (a path check).

I'd be surprised, the multipathd path checks go direct to the underlying
paths.  But I would also use 'multipath -F' before 'dmsetup remove_all'
in your test sequence -- could be that alone "fixes" the problem.




More information about the dm-devel mailing list