/freebsd-current/sys/dev/nvme/ |
H A D | nvme_ctrlr.c | 49 static void nvme_ctrlr_construct_and_submit_aer(struct nvme_controller *ctrlr, 53 nvme_ctrlr_barrier(struct nvme_controller *ctrlr, int flags) argument 55 bus_barrier(ctrlr->resource, 0, rman_get_size(ctrlr->resource), flags); 59 nvme_ctrlr_devctl_va(struct nvme_controller *ctrlr, const char *type, argument 67 sbuf_printf(&sb, "name=\"%s\" ", device_get_nameunit(ctrlr->dev)); 76 nvme_ctrlr_devctl(struct nvme_controller *ctrlr, const char *type, const char *msg, ...) argument 81 nvme_ctrlr_devctl_va(ctrlr, type, msg, ap); 86 nvme_ctrlr_devctl_log(struct nvme_controller *ctrlr, const char *type, const char *msg, ...) argument 94 sbuf_printf(&sb, "%s: ", device_get_nameunit(ctrlr 108 nvme_ctrlr_construct_admin_qpair(struct nvme_controller *ctrlr) argument 144 nvme_ctrlr_construct_io_qpairs(struct nvme_controller *ctrlr) argument 234 nvme_ctrlr_fail(struct nvme_controller *ctrlr) argument 260 nvme_ctrlr_wait_for_ready(struct nvme_controller *ctrlr, int desired_val) argument 286 nvme_ctrlr_disable(struct nvme_controller *ctrlr) argument 331 nvme_ctrlr_enable(struct nvme_controller *ctrlr) argument 394 nvme_ctrlr_disable_qpairs(struct nvme_controller *ctrlr) argument 411 nvme_ctrlr_hw_reset(struct nvme_controller *ctrlr) argument 431 nvme_ctrlr_reset(struct nvme_controller *ctrlr) argument 450 nvme_ctrlr_identify(struct nvme_controller *ctrlr) argument 479 nvme_ctrlr_set_num_qpairs(struct nvme_controller *ctrlr) argument 515 nvme_ctrlr_create_qpairs(struct nvme_controller *ctrlr) argument 547 nvme_ctrlr_delete_qpairs(struct nvme_controller *ctrlr) argument 578 nvme_ctrlr_construct_namespaces(struct nvme_controller *ctrlr) argument 610 nvme_ctrlr_get_log_page_size(struct nvme_controller *ctrlr, uint8_t page_id) argument 647 nvme_ctrlr_log_critical_warnings(struct nvme_controller *ctrlr, uint8_t state) argument 811 nvme_ctrlr_construct_and_submit_aer(struct nvme_controller *ctrlr, struct nvme_async_event_request *aer) argument 830 nvme_ctrlr_configure_aer(struct nvme_controller *ctrlr) argument 869 nvme_ctrlr_configure_int_coalescing(struct nvme_controller *ctrlr) argument 885 nvme_ctrlr_hmb_free(struct nvme_controller *ctrlr) argument 918 nvme_ctrlr_hmb_alloc(struct nvme_controller *ctrlr) argument 1037 nvme_ctrlr_hmb_enable(struct nvme_controller *ctrlr, bool enable, bool memret) argument 1061 struct nvme_controller *ctrlr = ctrlr_arg; local 1145 struct nvme_controller *ctrlr = arg; local 1177 struct nvme_controller *ctrlr = arg; local 1197 nvme_ctrlr_poll(struct nvme_controller *ctrlr) argument 1216 struct nvme_controller *ctrlr = arg; local 1244 nvme_ctrlr_passthrough_cmd(struct nvme_controller *ctrlr, struct nvme_pt_command *pt, uint32_t nsid, int is_user_buffer, int is_admin_cmd) argument 1321 struct nvme_controller *ctrlr; local 1359 nvme_ctrlr_construct(struct nvme_controller *ctrlr, device_t dev) argument 1490 nvme_ctrlr_destruct(struct nvme_controller *ctrlr, device_t dev) argument 1572 nvme_ctrlr_shutdown(struct nvme_controller *ctrlr) argument 1600 nvme_ctrlr_submit_admin_request(struct nvme_controller *ctrlr, struct nvme_request *req) argument 1608 nvme_ctrlr_submit_io_request(struct nvme_controller *ctrlr, struct nvme_request *req) argument 1618 nvme_ctrlr_get_device(struct nvme_controller *ctrlr) argument 1625 nvme_ctrlr_get_data(struct nvme_controller *ctrlr) argument 1632 nvme_ctrlr_suspend(struct nvme_controller *ctrlr) argument 1676 nvme_ctrlr_resume(struct nvme_controller *ctrlr) argument [all...] |
H A D | nvme_pci.c | 47 static int nvme_ctrlr_setup_interrupts(struct nvme_controller *ctrlr); 117 struct nvme_controller *ctrlr = DEVICE2SOFTC(device); local 132 ctrlr->quirks = ep->quirks; 152 nvme_ctrlr_allocate_bar(struct nvme_controller *ctrlr) argument 155 ctrlr->resource_id = PCIR_BAR(0); 157 ctrlr->resource = bus_alloc_resource_any(ctrlr->dev, SYS_RES_MEMORY, 158 &ctrlr->resource_id, RF_ACTIVE); 160 if(ctrlr->resource == NULL) { 161 nvme_printf(ctrlr, "unabl 186 struct nvme_controller*ctrlr = DEVICE2SOFTC(dev); local 225 struct nvme_controller*ctrlr = DEVICE2SOFTC(dev); local 236 nvme_ctrlr_setup_shared(struct nvme_controller *ctrlr, int rid) argument 261 nvme_ctrlr_setup_interrupts(struct nvme_controller *ctrlr) argument 344 struct nvme_controller *ctrlr; local 353 struct nvme_controller *ctrlr; local [all...] |
H A D | nvme_ahci.c | 66 struct nvme_controller*ctrlr = DEVICE2SOFTC(dev); local 70 ctrlr->resource_id = 0; 72 ctrlr->resource = bus_alloc_resource_any(dev, SYS_RES_MEMORY, 73 &ctrlr->resource_id, RF_ACTIVE); 75 if(ctrlr->resource == NULL) { 76 nvme_printf(ctrlr, "unable to allocate mem resource\n"); 80 ctrlr->bus_tag = rman_get_bustag(ctrlr->resource); 81 ctrlr->bus_handle = rman_get_bushandle(ctrlr [all...] |
H A D | nvme_sysctl.c | 98 struct nvme_controller *ctrlr = arg1; local 99 uint32_t oldval = ctrlr->int_coal_time; 100 int error = sysctl_handle_int(oidp, &ctrlr->int_coal_time, 0, 106 if (oldval != ctrlr->int_coal_time) 107 nvme_ctrlr_cmd_set_interrupt_coalescing(ctrlr, 108 ctrlr->int_coal_time, ctrlr->int_coal_threshold, NULL, 117 struct nvme_controller *ctrlr = arg1; local 118 uint32_t oldval = ctrlr->int_coal_threshold; 119 int error = sysctl_handle_int(oidp, &ctrlr 173 struct nvme_controller *ctrlr = arg1; local 188 struct nvme_controller *ctrlr = arg1; local 203 struct nvme_controller *ctrlr = arg1; local 218 struct nvme_controller *ctrlr = arg1; local 233 struct nvme_controller *ctrlr = arg1; local 248 struct nvme_controller *ctrlr = arg1; local 263 struct nvme_controller *ctrlr = arg1; local 328 nvme_sysctl_initialize_ctrlr(struct nvme_controller *ctrlr) argument [all...] |
H A D | nvme.c | 74 struct nvme_controller *ctrlr; local 76 ctrlr = DEVICE2SOFTC(dev); 77 nvme_ctrlr_shutdown(ctrlr); 85 struct nvme_controller *ctrlr = DEVICE2SOFTC(dev); local 88 status = nvme_ctrlr_construct(ctrlr, dev); 90 nvme_ctrlr_destruct(ctrlr, dev); 94 ctrlr->config_hook.ich_func = nvme_ctrlr_start_config_hook; 95 ctrlr->config_hook.ich_arg = ctrlr; 97 if (config_intrhook_establish(&ctrlr 106 struct nvme_controller *ctrlr = DEVICE2SOFTC(dev); local 115 nvme_notify(struct nvme_consumer *cons, struct nvme_controller *ctrlr) argument 169 nvme_notify_new_controller(struct nvme_controller *ctrlr) argument 184 struct nvme_controller *ctrlr; local 199 nvme_notify_async_consumers(struct nvme_controller *ctrlr, const struct nvme_completion *async_cpl, uint32_t log_page_id, void *log_page_buffer, uint32_t log_page_size) argument 219 nvme_notify_fail_consumers(struct nvme_controller *ctrlr) argument 246 nvme_notify_ns(struct nvme_controller *ctrlr, int nsid) argument [all...] |
H A D | nvme_ctrlr_cmd.c | 33 nvme_ctrlr_cmd_identify_controller(struct nvme_controller *ctrlr, void *payload, argument 51 nvme_ctrlr_submit_admin_request(ctrlr, req); 55 nvme_ctrlr_cmd_identify_namespace(struct nvme_controller *ctrlr, uint32_t nsid, argument 72 nvme_ctrlr_submit_admin_request(ctrlr, req); 76 nvme_ctrlr_cmd_create_io_cq(struct nvme_controller *ctrlr, argument 96 nvme_ctrlr_submit_admin_request(ctrlr, req); 100 nvme_ctrlr_cmd_create_io_sq(struct nvme_controller *ctrlr, argument 120 nvme_ctrlr_submit_admin_request(ctrlr, req); 124 nvme_ctrlr_cmd_delete_io_cq(struct nvme_controller *ctrlr, argument 141 nvme_ctrlr_submit_admin_request(ctrlr, re 145 nvme_ctrlr_cmd_delete_io_sq(struct nvme_controller *ctrlr, struct nvme_qpair *io_que, nvme_cb_fn_t cb_fn, void *cb_arg) argument 166 nvme_ctrlr_cmd_set_feature(struct nvme_controller *ctrlr, uint8_t feature, uint32_t cdw11, uint32_t cdw12, uint32_t cdw13, uint32_t cdw14, uint32_t cdw15, void *payload, uint32_t payload_size, nvme_cb_fn_t cb_fn, void *cb_arg) argument 189 nvme_ctrlr_cmd_get_feature(struct nvme_controller *ctrlr, uint8_t feature, uint32_t cdw11, void *payload, uint32_t payload_size, nvme_cb_fn_t cb_fn, void *cb_arg) argument 207 nvme_ctrlr_cmd_set_num_queues(struct nvme_controller *ctrlr, uint32_t num_queues, nvme_cb_fn_t cb_fn, void *cb_arg) argument 218 nvme_ctrlr_cmd_set_async_event_config(struct nvme_controller *ctrlr, uint32_t state, nvme_cb_fn_t cb_fn, void *cb_arg) argument 230 nvme_ctrlr_cmd_set_interrupt_coalescing(struct nvme_controller *ctrlr, uint32_t microseconds, uint32_t threshold, nvme_cb_fn_t cb_fn, void *cb_arg) argument 255 nvme_ctrlr_cmd_get_log_page(struct nvme_controller *ctrlr, uint8_t log_page, uint32_t nsid, void *payload, uint32_t payload_size, nvme_cb_fn_t cb_fn, void *cb_arg) argument 275 nvme_ctrlr_cmd_get_error_page(struct nvme_controller *ctrlr, struct nvme_error_information_entry *payload, uint32_t num_entries, nvme_cb_fn_t cb_fn, void *cb_arg) argument 296 nvme_ctrlr_cmd_get_health_information_page(struct nvme_controller *ctrlr, uint32_t nsid, struct nvme_health_information_page *payload, nvme_cb_fn_t cb_fn, void *cb_arg) argument 306 nvme_ctrlr_cmd_get_firmware_page(struct nvme_controller *ctrlr, struct nvme_firmware_page *payload, nvme_cb_fn_t cb_fn, void *cb_arg) argument 316 nvme_ctrlr_cmd_abort(struct nvme_controller *ctrlr, uint16_t cid, uint16_t sqid, nvme_cb_fn_t cb_fn, void *cb_arg) argument [all...] |
H A D | nvme_private.h | 124 struct nvme_controller *ctrlr; member in struct:nvme_async_event_request 149 struct nvme_controller *ctrlr; member in struct:nvme_qpair 201 struct nvme_controller *ctrlr; member in struct:nvme_namespace 346 #define nvme_printf(ctrlr, fmt, args...) \ 347 device_printf(ctrlr->dev, fmt, ##args) 351 void nvme_ctrlr_cmd_identify_controller(struct nvme_controller *ctrlr, 354 void nvme_ctrlr_cmd_identify_namespace(struct nvme_controller *ctrlr, 357 void nvme_ctrlr_cmd_set_interrupt_coalescing(struct nvme_controller *ctrlr, 362 void nvme_ctrlr_cmd_get_error_page(struct nvme_controller *ctrlr, 367 void nvme_ctrlr_cmd_get_health_information_page(struct nvme_controller *ctrlr, [all...] |
H A D | nvme_qpair.c | 126 nvme_printf(qpair->ctrlr, "%s (%02x) sqid:%d cid:%d nsid:%x " 144 nvme_printf(qpair->ctrlr, "%s sqid:%d cid:%d nsid:%d " 156 nvme_printf(qpair->ctrlr, "%s sqid:%d cid:%d nsid:%d\n", 160 nvme_printf(qpair->ctrlr, "%s (%02x) sqid:%d cid:%d nsid:%d\n", 175 nvme_printf(qpair->ctrlr, 179 nvme_printf(qpair->ctrlr, 347 nvme_printf(qpair->ctrlr, "%s (%02x/%02x) crd:%x m:%x dnr:%x p:%d " 475 !qpair->ctrlr->is_resetting) { 567 device_get_nameunit(qpair->ctrlr->dev))); 654 nvme_printf(qpair->ctrlr, 714 nvme_qpair_construct(struct nvme_qpair *qpair, uint32_t num_entries, uint32_t num_trackers, struct nvme_controller *ctrlr) argument 1024 struct nvme_controller *ctrlr = qpair->ctrlr; local 1172 struct nvme_controller *ctrlr; local [all...] |
H A D | nvme_sim.c | 91 struct nvme_controller *ctrlr; local 93 ctrlr = sim2ctrlr(sim); 118 nvme_ctrlr_submit_io_request(ctrlr, req); 120 nvme_ctrlr_submit_admin_request(ctrlr, req); 124 nvme_link_kBps(struct nvme_controller *ctrlr) argument 129 status = pcie_read_config(ctrlr->dev, PCIER_LINK_STA, 2); 144 struct nvme_controller *ctrlr; local 150 ctrlr = sim2ctrlr(sim); 172 device_t dev = ctrlr->dev; 179 if (ctrlr 297 nvme_sim_new_controller(struct nvme_controller *ctrlr) argument [all...] |
H A D | nvme_ns_cmd.c | 46 nvme_ctrlr_submit_io_request(ns->ctrlr, req); 68 nvme_ctrlr_submit_io_request(ns->ctrlr, req); 87 nvme_ctrlr_submit_io_request(ns->ctrlr, req); 108 nvme_ctrlr_submit_io_request(ns->ctrlr, req); 134 nvme_ctrlr_submit_io_request(ns->ctrlr, req); 150 nvme_ctrlr_submit_io_request(ns->ctrlr, req); 182 nvme_ctrlr_submit_io_request(ns->ctrlr, req);
|
H A D | nvme_ns.c | 67 struct nvme_controller *ctrlr; local 71 ctrlr = ns->ctrlr; 80 return (nvme_ctrlr_passthrough_cmd(ctrlr, pt, ns->id, 85 strlcpy(gnsid->cdev, device_get_nameunit(ctrlr->dev), 174 return ns->ctrlr->max_xfer_size; 209 return ((const char *)ns->ctrlr->cdata.sn); 215 return ((const char *)ns->ctrlr->cdata.mn); 431 counter_u64_add(ns->ctrlr->alignment_splits, 1); 508 struct nvme_controller *ctrlr) 507 nvme_ns_construct(struct nvme_namespace *ns, uint32_t id, struct nvme_controller *ctrlr) argument [all...] |
H A D | nvme.h | 1791 struct nvme_resv_reg_ctrlr ctrlr[0]; member in struct:nvme_resv_status 1804 struct nvme_resv_reg_ctrlr_ext ctrlr[0]; member in struct:nvme_resv_status_ext 1919 int nvme_ctrlr_passthrough_cmd(struct nvme_controller *ctrlr, 1925 void nvme_ctrlr_cmd_set_feature(struct nvme_controller *ctrlr, 1931 void nvme_ctrlr_cmd_get_feature(struct nvme_controller *ctrlr, 1935 void nvme_ctrlr_cmd_get_log_page(struct nvme_controller *ctrlr, 1967 device_t nvme_ctrlr_get_device(struct nvme_controller *ctrlr); 1969 nvme_ctrlr_get_data(struct nvme_controller *ctrlr); 2284 n = MIN(n, (size - sizeof(s)) / sizeof(s->ctrlr[0])); 2286 s->ctrlr[ [all...] |
/freebsd-current/sys/dev/nvmf/controller/ |
H A D | nvmft_controller.c | 28 nvmft_printf(struct nvmft_controller *ctrlr, const char *fmt, ...) argument 38 sbuf_printf(&sb, "nvmft%u: ", ctrlr->cntlid); 54 struct nvmft_controller *ctrlr; local 56 ctrlr = malloc(sizeof(*ctrlr), M_NVMFT, M_WAITOK | M_ZERO); 57 ctrlr->cntlid = cntlid; 59 TAILQ_INSERT_TAIL(&np->controllers, ctrlr, link); 60 ctrlr->np = np; 61 mtx_init(&ctrlr->lock, "nvmft controller", NULL, MTX_DEF); 62 callout_init(&ctrlr 81 nvmft_controller_free(struct nvmft_controller *ctrlr) argument 92 struct nvmft_controller *ctrlr = arg; local 115 struct nvmft_controller *ctrlr; local 178 struct nvmft_controller *ctrlr; local 287 struct nvmft_controller *ctrlr = arg; local 355 struct nvmft_controller *ctrlr = arg; local 394 nvmft_controller_error(struct nvmft_controller *ctrlr, struct nvmft_qpair *qp, int error) argument 519 handle_get_log_page(struct nvmft_controller *ctrlr, struct nvmf_capsule *nc, const struct nvme_command *cmd) argument 641 handle_identify_command(struct nvmft_controller *ctrlr, struct nvmf_capsule *nc, const struct nvme_command *cmd) argument 710 handle_set_features(struct nvmft_controller *ctrlr, struct nvmf_capsule *nc, const struct nvme_command *cmd) argument 787 update_cc(struct nvmft_controller *ctrlr, uint32_t new_cc, bool *need_shutdown) argument 836 handle_property_get(struct nvmft_controller *ctrlr, struct nvmf_capsule *nc, const struct nvmf_fabric_prop_get_cmd *pget) argument 875 handle_property_set(struct nvmft_controller *ctrlr, struct nvmf_capsule *nc, const struct nvmf_fabric_prop_set_cmd *pset) argument 904 handle_admin_fabrics_command(struct nvmft_controller *ctrlr, struct nvmf_capsule *nc, const struct nvmf_fabric_cmd *fc) argument 938 nvmft_handle_admin_command(struct nvmft_controller *ctrlr, struct nvmf_capsule *nc) argument 1003 struct nvmft_controller *ctrlr = nvmft_qpair_ctrlr(qp); local 1036 nvmft_report_aer(struct nvmft_controller *ctrlr, uint32_t aer_mask, u_int type, uint8_t info, uint8_t log_page_id) argument 1076 nvmft_controller_lun_changed(struct nvmft_controller *ctrlr, int lun_id) argument [all...] |
H A D | ctl_frontend_nvmf.c | 77 struct nvmft_controller *ctrlr; local 82 TAILQ_FOREACH(ctrlr, &np->controllers, link) { 83 nvmft_printf(ctrlr, 85 nvmft_controller_error(ctrlr, NULL, ENODEV); 97 struct nvmft_controller *ctrlr; local 139 TAILQ_FOREACH(ctrlr, &np->controllers, link) { 140 nvmft_controller_lun_changed(ctrlr, lun_id); 153 struct nvmft_controller *ctrlr; local 179 TAILQ_FOREACH(ctrlr, &np->controllers, link) { 180 nvmft_controller_lun_changed(ctrlr, lun_i 211 struct nvmft_controller *ctrlr = nvmft_qpair_ctrlr(qp); local 251 nvmft_terminate_commands(struct nvmft_controller *ctrlr) argument 496 struct nvmft_controller *ctrlr; local 963 struct nvmft_controller *ctrlr; local 1023 struct nvmft_controller *ctrlr; local [all...] |
H A D | nvmft_qpair.c | 25 struct nvmft_controller *ctrlr; member in struct:nvmft_qpair 49 struct nvmft_controller *ctrlr = qp->ctrlr; local 60 nvmft_printf(ctrlr, "error %d on %s\n", error, qp->name); 61 nvmft_controller_error(ctrlr, qp, error); 68 struct nvmft_controller *ctrlr = qp->ctrlr; local 73 if (ctrlr == NULL) { 95 nvmft_handle_admin_command(ctrlr, nc); 156 return (qp->ctrlr); 348 nvmft_finish_accept(struct nvmft_qpair *qp, const struct nvmf_fabric_connect_cmd *cmd, struct nvmft_controller *ctrlr) argument [all...] |
H A D | nvmft_var.h | 112 void nvmft_terminate_commands(struct nvmft_controller *ctrlr); 115 void nvmft_controller_error(struct nvmft_controller *ctrlr, 117 void nvmft_controller_lun_changed(struct nvmft_controller *ctrlr, 119 void nvmft_handle_admin_command(struct nvmft_controller *ctrlr, 131 int nvmft_printf(struct nvmft_controller *ctrlr, const char *fmt, ...) 159 const struct nvmf_fabric_connect_cmd *cmd, struct nvmft_controller *ctrlr);
|
/freebsd-current/sbin/nvmecontrol/ |
H A D | devlist.c | 101 int ctrlr, fd, found, ret; local 106 ctrlr = -1; 109 while (ctrlr < NVME_MAX_UNIT) { 110 ctrlr++; 111 sprintf(name, "%s%d", NVME_CTRLR_PREFIX, ctrlr); 132 sprintf(name, "%s%d%s%d", NVME_CTRLR_PREFIX, ctrlr,
|
H A D | resv.c | 412 n = MIN(n, (sizeof(data) - sizeof(e)) / sizeof(e->ctrlr[0])); 415 e->ctrlr[i].ctrlr_id); 417 e->ctrlr[i].rcsts); 419 e->ctrlr[i].rkey); 421 e->ctrlr[i].hostid[0], e->ctrlr[i].hostid[1]); 424 n = MIN(n, (sizeof(data) - sizeof(s)) / sizeof(s->ctrlr[0])); 427 s->ctrlr[i].ctrlr_id); 429 s->ctrlr[i].rcsts); 431 s->ctrlr[ [all...] |
/freebsd-current/sys/dev/nvd/ |
H A D | nvd.c | 63 static void *nvd_new_disk(struct nvme_namespace *ns, void *ctrlr); 65 static void *nvd_new_controller(struct nvme_controller *ctrlr); 66 static void nvd_controller_fail(void *ctrlr); 76 struct nvd_controller *ctrlr; member in struct:nvd_disk 96 struct nvme_controller *ctrlr; member in struct:nvd_controller 166 struct nvd_controller *ctrlr; local 173 while ((ctrlr = TAILQ_FIRST(&ctrlr_head)) != NULL) { 174 TAILQ_REMOVE(&ctrlr_head, ctrlr, tailq); 175 TAILQ_FOREACH(ndisk, &ctrlr->disk_head, ctrlr_tailq) 177 while (!TAILQ_EMPTY(&ctrlr 398 nvd_new_controller(struct nvme_controller *ctrlr) argument 420 struct nvd_controller *ctrlr = ctrlr_arg; local 518 struct nvd_controller *ctrlr = ctrlr_arg; local [all...] |
/freebsd-current/usr.sbin/mlxcontrol/ |
H A D | interface.c | 122 int ctrlr; member in struct:__anon6675 140 mlxd_find_ctrlr_param.ctrlr = unit; 150 mlxd_find_ctrlr(int unit, int *ctrlr, int *sysdrive) argument 153 mlxd_find_ctrlr_param.ctrlr = -1; 157 if ((mlxd_find_ctrlr_param.ctrlr != -1) && (mlxd_find_ctrlr_param.sysdrive != -1)) { 158 *ctrlr = mlxd_find_ctrlr_param.ctrlr;
|
H A D | mlxcontrol.h | 42 extern int mlxd_find_ctrlr(int unit, int *ctrlr, int *sysdrive);
|
H A D | command.c | 186 int fd, result, ctrlr, sysdrive, statvalid; local 190 if (mlxd_find_ctrlr(unit, &ctrlr, &sysdrive)) { 194 if (rs_ctrlr == ctrlr) { 197 if ((fd = open(ctrlrpath(ctrlr), 0)) < 0) { 198 warn("can't open %s", ctrlrpath(ctrlr)); 203 rs_ctrlr = ctrlr; 245 if (statvalid && (rs_ctrlr == ctrlr) &&
|