Lines Matching +full:controller +full:- +full:specific
1 /* SPDX-License-Identifier: GPL-2.0 */
4 * Copyright (c) 2015-2016 HGST, a Western Digital Company.
18 /* default is -1: the fail fast mechanism is disabled */
19 #define NVMF_DEF_FAIL_FAST_TMO -1
44 * enum nvmf_parsing_opts - used to define the sysfs parsing options used.
79 * struct nvmf_ctrl_options - Used to hold the options specified
82 * on adding a NVMe controller.
84 * the controller, (-1) means reconnect forever, zero means remove
87 * better description) that will be used by an NVMe controller
91 * @traddr: The transport-specific TRADDR field for a port on the
92 * subsystem which is adding a controller.
93 * @trsvcid: The transport-specific TRSVCID field for a port on the
94 * subsystem which is adding a controller.
95 * @host_traddr: A transport-specific field identifying the NVME host port
96 * to use for the connection to the controller.
97 * @host_iface: A transport-specific field identifying the NVME host
98 * interface to use for the connection to the controller.
100 * @nr_io_queues: Number of controller IO queues that will be established.
102 * @discovery_nqn: indicates if the subsysnqn is the well-known discovery NQN.
103 * @kato: Keep-alive timeout.
105 * @dhchap_secret: DH-HMAC-CHAP secret
106 * @dhchap_ctrl_secret: DH-HMAC-CHAP controller secret for bi-directional
111 * @disable_sqflow: disable controller sq flow control
150 * struct nvmf_transport_ops - used to register a specific
153 * registration entry to its linked-list internal tree.
156 * @required_opts: sysfs command-line options that must be specified
157 * when adding a new NVMe controller.
158 * @allowed_opts: sysfs command-line options that can be specified
159 * when adding a new NVMe controller.
160 * @create_ctrl(): function pointer that points to a non-NVMe
161 * implementation-specific fabric technology
163 * for the purpose of conneciton to an NVMe controller
193 strcmp(opts->subsysnqn, ctrl->opts->subsysnqn) || in nvmf_ctlr_matches_baseopts()
194 strcmp(opts->host->nqn, ctrl->opts->host->nqn) || in nvmf_ctlr_matches_baseopts()
195 !uuid_equal(&opts->host->id, &ctrl->opts->host->id)) in nvmf_ctlr_matches_baseopts()
203 if (!ctrl->subsys || in nvmf_ctrl_subsysnqn()
204 !strcmp(ctrl->opts->subsysnqn, NVME_DISC_SUBSYS_NAME)) in nvmf_ctrl_subsysnqn()
205 return ctrl->opts->subsysnqn; in nvmf_ctrl_subsysnqn()
206 return ctrl->subsys->subnqn; in nvmf_ctrl_subsysnqn()
212 nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD; in nvmf_complete_timed_out_request()
219 return min(opts->nr_io_queues, num_online_cpus()) + in nvmf_nr_io_queues()
220 min(opts->nr_write_queues, num_online_cpus()) + in nvmf_nr_io_queues()
221 min(opts->nr_poll_queues, num_online_cpus()); in nvmf_nr_io_queues()