'modprobe nvme_core multipath=N' crashes in face of multipath fabric
Mike Snitzer
snitzer at redhat.com
Wed Apr 11 14:46:11 PDT 2018
On Wed, Apr 11 2018 at 1:58pm -0400,
Keith Busch <keith.busch at intel.com> wrote:
> On Wed, Apr 11, 2018 at 10:17:21AM -0400, Mike Snitzer wrote:
> > On Wed, Apr 11 2018 at 9:45am -0400,
> > Keith Busch <keith.busch at intel.com> wrote:
> >
> > > On Tue, Apr 10, 2018 at 04:49:53PM -0400, Mike Snitzer wrote:
> > > > This isn't new since the 4.17 merge or anything, I first noticed this
> > > > issue existed while using a 4.16-rc4 kernel.
> > > >
> > > > modprobe nvme_core multipath=N
> > >
> > > Thanks for the notice.
> > >
> > > There is definitely a bug here when CONFIG_NVME_MULTIPATH=y but nvme_core
> > > multipath is disabled in the presence of shared namespaces. I think we'd
> > > need each namespace to get a different "head" out of the subsystem in
> > > this case, but it may take a moment for me to detangle this.
> >
> > No problem, it certainly isn't something I could tackle any quicker ;)
> >
> > Thanks for looking to resolve this though.
>
> It doesn't look like we'll be able to allocate new namespace 'heads'
> here without complicating this even more.
>
> The below should fix the naming collision by getting new instances for
> each namespace that attaches to a head. I'm not sure this is much better,
> but maybe Christoph will have a better suggestion.
This patch fixed the issue for me. Verified that modprobe nvme_core
multipath=N and multipath=Y works with the mptest case I shared in my
original report.
If you do go with this patch, please feel free to add:
Tested-by: Mike Snitzer <snitzer at redhat.com>
Thanks,
Mike
More information about the Linux-nvme
mailing list