Skip to content

Commit 0475821

Browse files
rolanddKeith Busch
authored andcommitted
nvme-fabrics: Ignore nr_io_queues option for discovery controllers
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@purestorage.com> Reviewed-by: James Smart <james.smart@broadcom.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Keith Busch <keith.busch@intel.com>
1 parent 8a30ecc commit 0475821

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/nvme/host/fabrics.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,11 @@ static int nvmf_parse_options(struct nvmf_ctrl_options *opts,
650650
ret = -EINVAL;
651651
goto out;
652652
}
653+
if (opts->discovery_nqn) {
654+
pr_debug("Ignoring nr_io_queues value for discovery controller\n");
655+
break;
656+
}
657+
653658
opts->nr_io_queues = min_t(unsigned int,
654659
num_online_cpus(), token);
655660
break;

0 commit comments

Comments
 (0)