Lines Matching +full:keep +full:- +full:a +full:- +full:live
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
23 * the connect command, as well as for the keep alive command on the admin
24 * queue once live.
29 * Define a host as seen by the target. We allocate one at boot, but also
32 * multiple ones, for example in a container scenario. Because we must not
33 * use different Host NQNs with the same Host ID we generate a Host ID and
34 * use this structure to keep track of the relation between the two.
44 * enum nvmf_parsing_opts - used to define the sysfs parsing options used.
76 * struct nvmf_ctrl_options - Used to hold the options specified
79 * on adding a NVMe controller.
81 * the controller, (-1) means reconnect forever, zero means remove
83 * @transport: Holds the fabric transport "technology name" (for a lack of
88 * @traddr: The transport-specific TRADDR field for a port on the
89 * subsystem which is adding a controller.
90 * @trsvcid: The transport-specific TRSVCID field for a port on the
91 * subsystem which is adding a controller.
92 * @host_traddr: A transport-specific field identifying the NVME host port
94 * @host_iface: A transport-specific field identifying the NVME host
99 * @discovery_nqn: indicates if the subsysnqn is the well-known discovery NQN.
100 * @kato: Keep-alive timeout.
102 * @dhchap_secret: DH-HMAC-CHAP secret
103 * @dhchap_ctrl_secret: DH-HMAC-CHAP controller secret for bi-directional
141 * struct nvmf_transport_ops - used to register a specific
144 * registration entry to its linked-list internal tree.
147 * @required_opts: sysfs command-line options that must be specified
148 * when adding a new NVMe controller.
149 * @allowed_opts: sysfs command-line options that can be specified
150 * when adding a new NVMe controller.
151 * @create_ctrl(): function pointer that points to a non-NVMe
152 * implementation-specific fabric technology
162 * modules .bss section so that a pure module_get on @module
179 if (ctrl->state == NVME_CTRL_DELETING || in nvmf_ctlr_matches_baseopts()
180 ctrl->state == NVME_CTRL_DELETING_NOIO || in nvmf_ctlr_matches_baseopts()
181 ctrl->state == NVME_CTRL_DEAD || in nvmf_ctlr_matches_baseopts()
182 strcmp(opts->subsysnqn, ctrl->opts->subsysnqn) || in nvmf_ctlr_matches_baseopts()
183 strcmp(opts->host->nqn, ctrl->opts->host->nqn) || in nvmf_ctlr_matches_baseopts()
184 !uuid_equal(&opts->host->id, &ctrl->opts->host->id)) in nvmf_ctlr_matches_baseopts()
192 if (!ctrl->subsys || in nvmf_ctrl_subsysnqn()
193 !strcmp(ctrl->opts->subsysnqn, NVME_DISC_SUBSYS_NAME)) in nvmf_ctrl_subsysnqn()
194 return ctrl->opts->subsysnqn; in nvmf_ctrl_subsysnqn()
195 return ctrl->subsys->subnqn; in nvmf_ctrl_subsysnqn()
201 nvme_req(rq)->status = NVME_SC_HOST_ABORTED_CMD; in nvmf_complete_timed_out_request()
208 return min(opts->nr_io_queues, num_online_cpus()) + in nvmf_nr_io_queues()
209 min(opts->nr_write_queues, num_online_cpus()) + in nvmf_nr_io_queues()
210 min(opts->nr_poll_queues, num_online_cpus()); in nvmf_nr_io_queues()