All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] nvme-fabrics: Ignore nr_io_queues option for discovery controllers
@ 2018-03-05 19:59 Roland Dreier
  2018-03-05 20:55 ` James Smart
  2018-03-08  7:37 ` Christoph Hellwig
  0 siblings, 2 replies; 4+ messages in thread
From: Roland Dreier @ 2018-03-05 19:59 UTC (permalink / raw)


From: Roland Dreier <roland@purestorage.com>

This removes a dependency on the order options are passed when creating
a fabrics controller.  With the old code, if "nr_io_queues" appears before
an "nqn" option specifying the discovery controller, then nr_io_queues
is overridden with zero.  If "nr_io_queues" appears after specifying the
discovery controller, then the nr_io_queues option is used to set the
number of queues, and the driver attempts to establish IO connections
to the discovery controller (which doesn't work).

It seems better to ignore (and warn about) the "nr_io_queues" option
if userspace has already asked to connect to the discovery controller.

Signed-off-by: Roland Dreier <roland at purestorage.com>
---
 drivers/nvme/host/fabrics.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c
index 5dd4ceefed8f..6ec6b13fa582 100644
--- a/drivers/nvme/host/fabrics.c
+++ b/drivers/nvme/host/fabrics.c
@@ -650,6 +650,11 @@ static int nvmf_parse_options(struct nvmf_ctrl_options *opts,
 				ret = -EINVAL;
 				goto out;
 			}
+			if (opts->discovery_nqn) {
+				pr_debug("Ignoring nr_io_queues value for discovery controller\n");
+				break;
+			}
+
 			opts->nr_io_queues = min_t(unsigned int,
 					num_online_cpus(), token);
 			break;
-- 
2.15.1

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

* [PATCH v2] nvme-fabrics: Ignore nr_io_queues option for discovery controllers
  2018-03-05 19:59 [PATCH v2] nvme-fabrics: Ignore nr_io_queues option for discovery controllers Roland Dreier
@ 2018-03-05 20:55 ` James Smart
  2018-03-08  7:37 ` Christoph Hellwig
  1 sibling, 0 replies; 4+ messages in thread
From: James Smart @ 2018-03-05 20:55 UTC (permalink / raw)


On 3/5/2018 11:59 AM, Roland Dreier wrote:
> From: Roland Dreier <roland at purestorage.com>
>
> This removes a dependency on the order options are passed when creating
> a fabrics controller.  With the old code, if "nr_io_queues" appears before
> an "nqn" option specifying the discovery controller, then nr_io_queues
> is overridden with zero.  If "nr_io_queues" appears after specifying the
> discovery controller, then the nr_io_queues option is used to set the
> number of queues, and the driver attempts to establish IO connections
> to the discovery controller (which doesn't work).
>
> It seems better to ignore (and warn about) the "nr_io_queues" option
> if userspace has already asked to connect to the discovery controller.
>
> Signed-off-by: Roland Dreier <roland at purestorage.com>
> ---
>   drivers/nvme/host/fabrics.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/drivers/nvme/host/fabrics.c b/drivers/nvme/host/fabrics.c
> index 5dd4ceefed8f..6ec6b13fa582 100644
> --- a/drivers/nvme/host/fabrics.c
> +++ b/drivers/nvme/host/fabrics.c
> @@ -650,6 +650,11 @@ static int nvmf_parse_options(struct nvmf_ctrl_options *opts,
>   				ret = -EINVAL;
>   				goto out;
>   			}
> +			if (opts->discovery_nqn) {
> +				pr_debug("Ignoring nr_io_queues value for discovery controller\n");
> +				break;
> +			}
> +
>   			opts->nr_io_queues = min_t(unsigned int,
>   					num_online_cpus(), token);
>   			break;

Reviewed-by: James Smart <james.smart at broadcom.com>

-- james

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

* [PATCH v2] nvme-fabrics: Ignore nr_io_queues option for discovery controllers
  2018-03-05 19:59 [PATCH v2] nvme-fabrics: Ignore nr_io_queues option for discovery controllers Roland Dreier
  2018-03-05 20:55 ` James Smart
@ 2018-03-08  7:37 ` Christoph Hellwig
  2018-03-08 17:45   ` Keith Busch
  1 sibling, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2018-03-08  7:37 UTC (permalink / raw)


Looks fine,

Reviewed-by: Christoph Hellwig <hch at lst.de>

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

* [PATCH v2] nvme-fabrics: Ignore nr_io_queues option for discovery controllers
  2018-03-08  7:37 ` Christoph Hellwig
@ 2018-03-08 17:45   ` Keith Busch
  0 siblings, 0 replies; 4+ messages in thread
From: Keith Busch @ 2018-03-08 17:45 UTC (permalink / raw)


Thanks, applied.

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

end of thread, other threads:[~2018-03-08 17:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-05 19:59 [PATCH v2] nvme-fabrics: Ignore nr_io_queues option for discovery controllers Roland Dreier
2018-03-05 20:55 ` James Smart
2018-03-08  7:37 ` Christoph Hellwig
2018-03-08 17:45   ` Keith Busch

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.