Re: [PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Hannes Reinecke
On 11/09/2017 06:44 PM, Christoph Hellwig wrote: > This patch adds native multipath support to the nvme driver. For each > namespace we create only single block device node, which can be used > to access that namespace through any of the controllers that refer to it. > The gendisk for each control

Re: [PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Christoph Hellwig
On Fri, Nov 10, 2017 at 05:52:36AM +0100, Christoph Hellwig wrote: > > If we've CMIC capabilities, we'll use the subsys->instance; if we don't > > have CMIC, we use the ctrl->instance. > > > > Since the two instances are independent of each other, they can create > > duplicate names. > > > > To

Re: [PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Christoph Hellwig
On Thu, Nov 09, 2017 at 04:22:17PM -0500, Mike Snitzer wrote: > Your 0th header speaks to the NVMe multipath IO path leveraging NVMe's > lack of partial completion but I think it'd be useful to have this > header (that actually gets committed) speak to it. There is a comment above blk_steal_bios t

Re: [PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Christoph Hellwig
> If we've CMIC capabilities, we'll use the subsys->instance; if we don't > have CMIC, we use the ctrl->instance. > > Since the two instances are independent of each other, they can create > duplicate names. > > To fix, I think we'll need to always use the subsys instance for > consistency if CO

Re: [PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Mike Snitzer
On Thu, Nov 09 2017 at 12:44pm -0500, Christoph Hellwig wrote: > This patch adds native multipath support to the nvme driver. For each > namespace we create only single block device node, which can be used > to access that namespace through any of the controllers that refer to it. > The gendisk

Re: [PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Keith Busch
Ahh, I incorporated non-multipath disks into the mix and observing some trouble. Details below: On Thu, Nov 09, 2017 at 06:44:47PM +0100, Christoph Hellwig wrote: > +#ifdef CONFIG_NVME_MULTIPATH > + if (ns->head->disk) { > + sprintf(disk_name, "nvme%dc%dn%d", ctrl->subsys->instance

Re: [PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Martin K. Petersen
Christoph, > This patch adds native multipath support to the nvme driver. For each > namespace we create only single block device node, which can be used > to access that namespace through any of the controllers that refer to > it. The gendisk for each controllers path to the name space still >

Re: [PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Keith Busch
On Thu, Nov 09, 2017 at 06:44:47PM +0100, Christoph Hellwig wrote: > +config NVME_MULTIPATH > + bool "NVMe multipath support" > + depends on NVME_CORE > + ---help--- > +This option enables support for multipath access to NVMe > +subsystems. If this option is enabled onl

[PATCH 4/7] nvme: implement multipath access to nvme subsystems

2017-11-09 Thread Christoph Hellwig
This patch adds native multipath support to the nvme driver. For each namespace we create only single block device node, which can be used to access that namespace through any of the controllers that refer to it. The gendisk for each controllers path to the name space still exists inside the kerne