All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] nvme: make ANA support independent on native nvme multipath
@ 2018-11-05 15:41 Hannes Reinecke
  2018-11-07  2:54 ` Sagi Grimberg
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Hannes Reinecke @ 2018-11-05 15:41 UTC (permalink / raw)


NVMe native multipathing is an implementation detail on the host,
and ANA support is actually independent on that.
So we shouldn't check for native NVMe multipathing when trying to
evaluate whether ANA is supported; not doing so results in the
ANA sysfs attributes not to be present when the 'multipath=false'
module option is set.

Signed-off-by: Hannes Reinecke <hare at suse.com>
---
 drivers/nvme/host/multipath.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
index 4944ffdf6831..f7efcaeb2d98 100644
--- a/drivers/nvme/host/multipath.c
+++ b/drivers/nvme/host/multipath.c
@@ -22,7 +22,7 @@ MODULE_PARM_DESC(multipath,
 
 inline bool nvme_ctrl_use_ana(struct nvme_ctrl *ctrl)
 {
-	return multipath && ctrl->subsys && (ctrl->subsys->cmic & (1 << 3));
+	return ctrl->subsys && (ctrl->subsys->cmic & (1 << 3));
 }
 
 /*
-- 
2.16.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH] nvme: make ANA support independent on native nvme multipath
  2018-11-05 15:41 [PATCH] nvme: make ANA support independent on native nvme multipath Hannes Reinecke
@ 2018-11-07  2:54 ` Sagi Grimberg
  2018-11-08  8:48 ` Christoph Hellwig
  2018-11-08 16:24 ` Mike Snitzer
  2 siblings, 0 replies; 5+ messages in thread
From: Sagi Grimberg @ 2018-11-07  2:54 UTC (permalink / raw)


Reviewed-by: Sagi Grimberg <sagi at grimberg.me>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] nvme: make ANA support independent on native nvme multipath
  2018-11-05 15:41 [PATCH] nvme: make ANA support independent on native nvme multipath Hannes Reinecke
  2018-11-07  2:54 ` Sagi Grimberg
@ 2018-11-08  8:48 ` Christoph Hellwig
  2018-11-08 16:27   ` Mike Snitzer
  2018-11-08 16:24 ` Mike Snitzer
  2 siblings, 1 reply; 5+ messages in thread
From: Christoph Hellwig @ 2018-11-08  8:48 UTC (permalink / raw)


On Mon, Nov 05, 2018@04:41:36PM +0100, Hannes Reinecke wrote:
> NVMe native multipathing is an implementation detail on the host,
> and ANA support is actually independent on that.
> So we shouldn't check for native NVMe multipathing when trying to
> evaluate whether ANA is supported; not doing so results in the
> ANA sysfs attributes not to be present when the 'multipath=false'
> module option is set.

No, we should not enable ANA support without multipathing, as we
don't want people to rely on any ANA related side effects if multipathing
is not enabled.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* nvme: make ANA support independent on native nvme multipath
  2018-11-05 15:41 [PATCH] nvme: make ANA support independent on native nvme multipath Hannes Reinecke
  2018-11-07  2:54 ` Sagi Grimberg
  2018-11-08  8:48 ` Christoph Hellwig
@ 2018-11-08 16:24 ` Mike Snitzer
  2 siblings, 0 replies; 5+ messages in thread
From: Mike Snitzer @ 2018-11-08 16:24 UTC (permalink / raw)


On Mon, Nov 05 2018 at 10:41am -0500,
Hannes Reinecke <hare@suse.de> wrote:

> NVMe native multipathing is an implementation detail on the host,
> and ANA support is actually independent on that.
> So we shouldn't check for native NVMe multipathing when trying to
> evaluate whether ANA is supported; not doing so results in the
> ANA sysfs attributes not to be present when the 'multipath=false'
> module option is set.
> 
> Signed-off-by: Hannes Reinecke <hare at suse.com>
> ---
>  drivers/nvme/host/multipath.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
> index 4944ffdf6831..f7efcaeb2d98 100644
> --- a/drivers/nvme/host/multipath.c
> +++ b/drivers/nvme/host/multipath.c
> @@ -22,7 +22,7 @@ MODULE_PARM_DESC(multipath,
>  
>  inline bool nvme_ctrl_use_ana(struct nvme_ctrl *ctrl)
>  {
> -	return multipath && ctrl->subsys && (ctrl->subsys->cmic & (1 << 3));
> +	return ctrl->subsys && (ctrl->subsys->cmic & (1 << 3));
>  }
>  
>  /*
> -- 
> 2.16.4
> 

So you're going for ANA to work with CONFIG_NVME_MULTIPATH=Y but
nvme_core.multipath=N

Yes please.

Acked-by: Mike Snitzer <snitzer at redhat.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* nvme: make ANA support independent on native nvme multipath
  2018-11-08  8:48 ` Christoph Hellwig
@ 2018-11-08 16:27   ` Mike Snitzer
  0 siblings, 0 replies; 5+ messages in thread
From: Mike Snitzer @ 2018-11-08 16:27 UTC (permalink / raw)


On Thu, Nov 08 2018 at  3:48am -0500,
Christoph Hellwig <hch@lst.de> wrote:

> On Mon, Nov 05, 2018@04:41:36PM +0100, Hannes Reinecke wrote:
> > NVMe native multipathing is an implementation detail on the host,
> > and ANA support is actually independent on that.
> > So we shouldn't check for native NVMe multipathing when trying to
> > evaluate whether ANA is supported; not doing so results in the
> > ANA sysfs attributes not to be present when the 'multipath=false'
> > module option is set.
> 
> No, we should not enable ANA support without multipathing, as we
> don't want people to rely on any ANA related side effects if multipathing
> is not enabled.

Could you be more specific?

Do you have an example side-effect that you hold to be problematic?

As you can imagine I've long hoped for ANA to be decoupled from
multipathing.  Would welcome your throughts on why this is "bad".

Mike

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-11-08 16:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-05 15:41 [PATCH] nvme: make ANA support independent on native nvme multipath Hannes Reinecke
2018-11-07  2:54 ` Sagi Grimberg
2018-11-08  8:48 ` Christoph Hellwig
2018-11-08 16:27   ` Mike Snitzer
2018-11-08 16:24 ` Mike Snitzer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.