[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