Lines Matching refs:iter
477 nvme_ctrl_discover_fini(nvme_ctrl_iter_t *iter) in nvme_ctrl_discover_fini() argument
479 free(iter); in nvme_ctrl_discover_fini()
483 nvme_ctrl_discover_step(nvme_ctrl_iter_t *iter, const nvme_ctrl_disc_t **discp) in nvme_ctrl_discover_step() argument
488 if (iter->ni_done) { in nvme_ctrl_discover_step()
493 if (iter->ni_cur == NULL) { in nvme_ctrl_discover_step()
494 iter->ni_cur = di_drv_first_node("nvme", in nvme_ctrl_discover_step()
495 iter->ni_nvme->nh_devinfo); in nvme_ctrl_discover_step()
497 iter->ni_cur = di_drv_next_node(iter->ni_cur); in nvme_ctrl_discover_step()
500 if (iter->ni_cur == NULL) { in nvme_ctrl_discover_step()
501 iter->ni_done = true; in nvme_ctrl_discover_step()
505 for (m = di_minor_next(iter->ni_cur, DI_MINOR_NIL); in nvme_ctrl_discover_step()
506 m != DI_MINOR_NIL; m = di_minor_next(iter->ni_cur, m)) { in nvme_ctrl_discover_step()
517 iter->ni_disc.ncd_devi = iter->ni_cur; in nvme_ctrl_discover_step()
518 iter->ni_disc.ncd_minor = m; in nvme_ctrl_discover_step()
519 *discp = &iter->ni_disc; in nvme_ctrl_discover_step()
529 nvme_ctrl_iter_t *iter; in nvme_ctrl_discover_init() local
536 iter = calloc(1, sizeof (nvme_ctrl_iter_t)); in nvme_ctrl_discover_init()
537 if (iter == NULL) { in nvme_ctrl_discover_init()
543 iter->ni_nvme = nvme; in nvme_ctrl_discover_init()
544 *iterp = iter; in nvme_ctrl_discover_init()
551 nvme_ctrl_iter_t *iter; in nvme_ctrl_discover() local
560 if (!nvme_ctrl_discover_init(nvme, &iter)) { in nvme_ctrl_discover()
564 while ((ret = nvme_ctrl_discover_step(iter, &disc)) == in nvme_ctrl_discover()
570 nvme_ctrl_discover_fini(iter); in nvme_ctrl_discover()
878 nvme_ns_discover_fini(nvme_ns_iter_t *iter) in nvme_ns_discover_fini() argument
880 free(iter); in nvme_ns_discover_fini()
927 nvme_ns_discover_step(nvme_ns_iter_t *iter, const nvme_ns_disc_t **discp) in nvme_ns_discover_step() argument
929 nvme_ctrl_t *ctrl = iter->nni_ctrl; in nvme_ns_discover_step()
931 if (iter->nni_err) { in nvme_ns_discover_step()
935 if (iter->nni_done) { in nvme_ns_discover_step()
939 while (iter->nni_cur_idx <= ctrl->nc_info.id_nn) { in nvme_ns_discover_step()
940 uint32_t nsid = iter->nni_cur_idx; in nvme_ns_discover_step()
945 iter->nni_err = true; in nvme_ns_discover_step()
949 iter->nni_cur_idx++; in nvme_ns_discover_step()
951 if (iter->nni_level > level) { in nvme_ns_discover_step()
955 (void) memset(&iter->nni_disc, 0, sizeof (nvme_ns_disc_t)); in nvme_ns_discover_step()
956 iter->nni_disc.nnd_nsid = nsid; in nvme_ns_discover_step()
957 iter->nni_disc.nnd_level = level; in nvme_ns_discover_step()
960 iter->nni_disc.nnd_flags |= NVME_NS_DISC_F_NGUID_VALID; in nvme_ns_discover_step()
961 (void) memcpy(iter->nni_disc.nnd_nguid, in nvme_ns_discover_step()
967 iter->nni_disc.nnd_flags |= NVME_NS_DISC_F_EUI64_VALID; in nvme_ns_discover_step()
968 (void) memcpy(iter->nni_disc.nnd_eui64, in nvme_ns_discover_step()
973 *discp = &iter->nni_disc; in nvme_ns_discover_step()
977 iter->nni_done = true; in nvme_ns_discover_step()
985 nvme_ns_iter_t *iter; in nvme_ns_discover_init() local
997 iter = calloc(1, sizeof (nvme_ns_iter_t)); in nvme_ns_discover_init()
998 if (iter == NULL) { in nvme_ns_discover_init()
1005 iter->nni_ctrl = ctrl; in nvme_ns_discover_init()
1006 iter->nni_level = level; in nvme_ns_discover_init()
1007 iter->nni_cur_idx = 1; in nvme_ns_discover_init()
1009 *iterp = iter; in nvme_ns_discover_init()
1017 nvme_ns_iter_t *iter; in nvme_ns_discover() local
1031 if (!nvme_ns_discover_init(ctrl, level, &iter)) { in nvme_ns_discover()
1035 while ((ret = nvme_ns_discover_step(iter, &disc)) == NVME_ITER_VALID) { in nvme_ns_discover()
1040 nvme_ns_discover_fini(iter); in nvme_ns_discover()