Lines Matching refs:ilu
106 static void stmf_wait_ilu_tasks_finish(stmf_i_lu_t *ilu);
536 stmf_i_lu_t *ilu; in stmf_ioctl() local
589 for (ilu = stmf_state.stmf_ilulist; ilu; ilu = ilu->ilu_next) { in stmf_ioctl()
590 id = (uint8_t *)ilu->ilu_lu->lu_id; in stmf_ioctl()
610 ilu = stmf_state.stmf_ilulist; in stmf_ioctl()
614 id = (uint8_t *)ilu->ilu_lu->lu_id; in stmf_ioctl()
616 ilu = ilu->ilu_next; in stmf_ioctl()
709 for (ilu = stmf_state.stmf_ilulist; ilu; ilu = ilu->ilu_next) { in stmf_ioctl()
710 if (bcmp(p_id, ilu->ilu_lu->lu_id->ident, 16) == 0) in stmf_ioctl()
713 if (ilu == NULL) { in stmf_ioctl()
719 bcopy(ilu->ilu_lu->lu_id->ident, lup->lu_guid, 16); in stmf_ioctl()
720 lup->lu_state = ilu->ilu_state & 0x0f; in stmf_ioctl()
723 ilu->ilu_lu->lu_lp->lp_name, 255); in stmf_ioctl()
725 if (ilu->ilu_lu->lu_alias) { in stmf_ioctl()
727 ilu->ilu_lu->lu_alias, 255); in stmf_ioctl()
828 for (ilu = stmf_state.stmf_ilulist; ilu; ilu = ilu->ilu_next) { in stmf_ioctl()
829 if (bcmp(p_id, ilu->ilu_lu->lu_id->ident, 16) == 0) in stmf_ioctl()
832 if (ilu == NULL) { in stmf_ioctl()
841 ctl_ret = stmf_ctl(cmd, (void *)ilu->ilu_lu, &ssi); in stmf_ioctl()
1409 stmf_i_lu_t *ilu; in stmf_get_service_state() local
1428 for (ilu = stmf_state.stmf_ilulist; ilu != NULL; in stmf_get_service_state()
1429 ilu = ilu->ilu_next) { in stmf_get_service_state()
1430 if (ilu->ilu_state == STMF_STATE_OFFLINE) in stmf_get_service_state()
1432 else if (ilu->ilu_state == STMF_STATE_ONLINE) in stmf_get_service_state()
1434 else if (ilu->ilu_state == STMF_STATE_ONLINING) in stmf_get_service_state()
1436 else if (ilu->ilu_state == STMF_STATE_OFFLINING) in stmf_get_service_state()
1458 stmf_i_lu_t *ilu; in stmf_set_stmf_state() local
1531 for (ilu = stmf_state.stmf_ilulist; ilu != NULL; in stmf_set_stmf_state()
1532 ilu = ilu->ilu_next) { in stmf_set_stmf_state()
1536 (void) stmf_ctl(STMF_CMD_LU_ONLINE, ilu->ilu_lu, &ssi); in stmf_set_stmf_state()
1563 for (ilu = stmf_state.stmf_ilulist; ilu != NULL; in stmf_set_stmf_state()
1564 ilu = ilu->ilu_next) { in stmf_set_stmf_state()
1565 if (ilu->ilu_state != STMF_STATE_ONLINE) in stmf_set_stmf_state()
1567 (void) stmf_ctl(STMF_CMD_LU_OFFLINE, ilu->ilu_lu, &ssi); in stmf_set_stmf_state()
1638 stmf_i_lu_t *ilu; in find_task_from_msgid() local
1642 for (ilu = stmf_state.stmf_ilulist; ilu != NULL; ilu = ilu->ilu_next) { in find_task_from_msgid()
1643 if (bcmp(lu_id, ilu->ilu_lu->lu_id->ident, 16) == 0) { in find_task_from_msgid()
1648 if (ilu == NULL) { in find_task_from_msgid()
1653 mutex_enter(&ilu->ilu_task_lock); in find_task_from_msgid()
1654 for (itask = ilu->ilu_tasks; itask != NULL; in find_task_from_msgid()
1667 mutex_exit(&ilu->ilu_task_lock); in find_task_from_msgid()
2065 stmf_i_lu_t *ilu; in stmf_set_alua_state() local
2118 for (ilu = stmf_state.stmf_ilulist; ilu != NULL; in stmf_set_alua_state()
2119 ilu = ilu->ilu_next) { in stmf_set_alua_state()
2120 if (ilu->ilu_access != STMF_LU_ACTIVE) { in stmf_set_alua_state()
2124 lu = ilu->ilu_lu; in stmf_set_alua_state()
2127 ilu->ilu_alua = 1; in stmf_set_alua_state()
2259 stmf_i_lu_t *ilu; in stmf_lookup_lu() local
2262 for (ilu = stmf_state.stmf_ilulist; ilu != NULL; ilu = ilu->ilu_next) { in stmf_lookup_lu()
2263 if (ilu->ilu_lu == lu) in stmf_lookup_lu()
2264 return (ilu); in stmf_lookup_lu()
2739 stmf_i_lu_t *ilu; in stmf_update_kstat_lu_q() local
2744 ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_update_kstat_lu_q()
2745 if (ilu != NULL && ilu->ilu_kstat_io != NULL) { in stmf_update_kstat_lu_q()
2746 kip = KSTAT_IO_PTR(ilu->ilu_kstat_io); in stmf_update_kstat_lu_q()
2883 stmf_i_lu_t *ilu; in stmf_update_kstat_lu_io() local
2886 ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_update_kstat_lu_io()
2887 if (ilu != NULL && ilu->ilu_kstat_io != NULL) { in stmf_update_kstat_lu_io()
2888 kip = KSTAT_IO_PTR(ilu->ilu_kstat_io); in stmf_update_kstat_lu_io()
2890 mutex_enter(ilu->ilu_kstat_io->ks_lock); in stmf_update_kstat_lu_io()
2892 mutex_exit(ilu->ilu_kstat_io->ks_lock); in stmf_update_kstat_lu_io()
2898 stmf_create_kstat_lu(stmf_i_lu_t *ilu) in stmf_create_kstat_lu() argument
2912 (void) sprintf(ks_nm, "stmf_lu_%"PRIxPTR"", (uintptr_t)ilu); in stmf_create_kstat_lu()
2913 if ((ilu->ilu_kstat_info = kstat_create(STMF_MODULE_NAME, 0, in stmf_create_kstat_lu()
2922 ilu->ilu_kstat_info->ks_data_size = STMF_KSTAT_LU_SZ; in stmf_create_kstat_lu()
2923 ilu->ilu_kstat_info->ks_data = ks_lu; in stmf_create_kstat_lu()
2932 uint8_t *p = ilu->ilu_lu->lu_id->ident; in stmf_create_kstat_lu()
2933 bzero(ilu->ilu_ascii_hex_guid, sizeof (ilu->ilu_ascii_hex_guid)); in stmf_create_kstat_lu()
2935 (void) sprintf(&ilu->ilu_ascii_hex_guid[i * 2], "%02x", p[i]); in stmf_create_kstat_lu()
2938 (const char *)ilu->ilu_ascii_hex_guid); in stmf_create_kstat_lu()
2940 (const char *)ilu->ilu_lu->lu_alias); in stmf_create_kstat_lu()
2941 kstat_install(ilu->ilu_kstat_info); in stmf_create_kstat_lu()
2945 (void) sprintf(ks_nm, "stmf_lu_io_%"PRIxPTR"", (uintptr_t)ilu); in stmf_create_kstat_lu()
2946 if ((ilu->ilu_kstat_io = kstat_create(STMF_MODULE_NAME, 0, in stmf_create_kstat_lu()
2951 mutex_init(&ilu->ilu_kstat_lock, NULL, MUTEX_DRIVER, 0); in stmf_create_kstat_lu()
2952 ilu->ilu_kstat_io->ks_lock = &ilu->ilu_kstat_lock; in stmf_create_kstat_lu()
2953 kstat_install(ilu->ilu_kstat_io); in stmf_create_kstat_lu()
3030 stmf_i_lu_t *ilu; in stmf_set_lu_access() local
3045 for (ilu = stmf_state.stmf_ilulist; ilu != NULL; ilu = ilu->ilu_next) { in stmf_set_lu_access()
3046 p2 = &ilu->ilu_lu->lu_id->ident[0]; in stmf_set_lu_access()
3052 if (!ilu) { in stmf_set_lu_access()
3053 ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_set_lu_access()
3070 ilu->ilu_alua = 1; in stmf_set_lu_access()
3092 ilu->ilu_access = access_state; in stmf_set_lu_access()
3102 stmf_i_lu_t *ilu; in stmf_register_lu() local
3119 for (ilu = stmf_state.stmf_ilulist; ilu != NULL; ilu = ilu->ilu_next) { in stmf_register_lu()
3120 p2 = &ilu->ilu_lu->lu_id->ident[0]; in stmf_register_lu()
3127 ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_register_lu()
3131 luid->id_pt_to_object = (void *)ilu; in stmf_register_lu()
3132 ilu->ilu_luid = luid; in stmf_register_lu()
3134 ilu->ilu_alias = NULL; in stmf_register_lu()
3136 ilu->ilu_next = stmf_state.stmf_ilulist; in stmf_register_lu()
3137 ilu->ilu_prev = NULL; in stmf_register_lu()
3138 if (ilu->ilu_next) in stmf_register_lu()
3139 ilu->ilu_next->ilu_prev = ilu; in stmf_register_lu()
3140 stmf_state.stmf_ilulist = ilu; in stmf_register_lu()
3146 ilu->ilu_cur_task_cntr = &ilu->ilu_task_cntr1; in stmf_register_lu()
3147 STMF_EVENT_ALLOC_HANDLE(ilu->ilu_event_hdl); in stmf_register_lu()
3148 cv_init(&ilu->ilu_offline_pending_cv, NULL, CV_DRIVER, NULL); in stmf_register_lu()
3149 stmf_create_kstat_lu(ilu); in stmf_register_lu()
3155 ilu->ilu_access == STMF_LU_ACTIVE) { in stmf_register_lu()
3160 ilu->ilu_alua = 1; in stmf_register_lu()
3178 ilu->ilu_prev_state = STMF_STATE_OFFLINE; in stmf_register_lu()
3180 ilu->ilu_prev_state = STMF_STATE_ONLINE; in stmf_register_lu()
3195 stmf_i_lu_t *ilu; in stmf_deregister_lu() local
3202 ilu = stmf_lookup_lu(lu); in stmf_deregister_lu()
3203 if (ilu == NULL) { in stmf_deregister_lu()
3207 if (ilu->ilu_state == STMF_STATE_OFFLINE) { in stmf_deregister_lu()
3208 ASSERT(ilu->ilu_ntasks == ilu->ilu_ntasks_free); in stmf_deregister_lu()
3209 while (ilu->ilu_flags & ILU_STALL_DEREGISTER) { in stmf_deregister_lu()
3212 if (ilu->ilu_ntasks) { in stmf_deregister_lu()
3215 nitask = ilu->ilu_tasks; in stmf_deregister_lu()
3223 ilu->ilu_tasks = ilu->ilu_free_tasks = NULL; in stmf_deregister_lu()
3224 ilu->ilu_ntasks = ilu->ilu_ntasks_free = 0; in stmf_deregister_lu()
3227 if (ilu->ilu_access == STMF_LU_ACTIVE && in stmf_deregister_lu()
3234 ilu->ilu_alua = 1; in stmf_deregister_lu()
3249 if (ilu->ilu_next) in stmf_deregister_lu()
3250 ilu->ilu_next->ilu_prev = ilu->ilu_prev; in stmf_deregister_lu()
3251 if (ilu->ilu_prev) in stmf_deregister_lu()
3252 ilu->ilu_prev->ilu_next = ilu->ilu_next; in stmf_deregister_lu()
3254 stmf_state.stmf_ilulist = ilu->ilu_next; in stmf_deregister_lu()
3257 if (ilu == stmf_state.stmf_svc_ilu_draining) { in stmf_deregister_lu()
3258 stmf_state.stmf_svc_ilu_draining = ilu->ilu_next; in stmf_deregister_lu()
3260 if (ilu == stmf_state.stmf_svc_ilu_timing) { in stmf_deregister_lu()
3261 stmf_state.stmf_svc_ilu_timing = ilu->ilu_next; in stmf_deregister_lu()
3267 if (ilu->ilu_luid) { in stmf_deregister_lu()
3268 ((stmf_id_data_t *)ilu->ilu_luid)->id_pt_to_object = in stmf_deregister_lu()
3270 ilu->ilu_luid = NULL; in stmf_deregister_lu()
3272 STMF_EVENT_FREE_HANDLE(ilu->ilu_event_hdl); in stmf_deregister_lu()
3277 if (ilu->ilu_kstat_info) { in stmf_deregister_lu()
3278 kmem_free(ilu->ilu_kstat_info->ks_data, STMF_KSTAT_LU_SZ); in stmf_deregister_lu()
3279 kstat_delete(ilu->ilu_kstat_info); in stmf_deregister_lu()
3281 if (ilu->ilu_kstat_io) { in stmf_deregister_lu()
3282 kstat_delete(ilu->ilu_kstat_io); in stmf_deregister_lu()
3283 mutex_destroy(&ilu->ilu_kstat_lock); in stmf_deregister_lu()
3285 cv_destroy(&ilu->ilu_offline_pending_cv); in stmf_deregister_lu()
3935 stmf_i_lu_t *ilu; in stmf_deregister_scsi_session() local
4006 ilu = (stmf_i_lu_t *) in stmf_deregister_scsi_session()
4008 atomic_dec_32(&ilu->ilu_ref_cnt); in stmf_deregister_scsi_session()
4056 stmf_i_lu_t *ilu; in stmf_release_itl_handle() local
4060 ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_release_itl_handle()
4061 mutex_enter(&ilu->ilu_task_lock); in stmf_release_itl_handle()
4062 for (itlpp = &ilu->ilu_itl_list; (*itlpp) != NULL; in stmf_release_itl_handle()
4069 mutex_exit(&ilu->ilu_task_lock); in stmf_release_itl_handle()
4083 stmf_i_lu_t *ilu; in stmf_register_itl_handle() local
4086 ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_register_itl_handle()
4118 itl->itl_ilu = ilu; in stmf_register_itl_handle()
4124 mutex_enter(&ilu->ilu_task_lock); in stmf_register_itl_handle()
4125 itl->itl_next = ilu->ilu_itl_list; in stmf_register_itl_handle()
4126 ilu->ilu_itl_list = itl; in stmf_register_itl_handle()
4127 mutex_exit(&ilu->ilu_task_lock); in stmf_register_itl_handle()
4159 stmf_i_lu_t *ilu; in stmf_deregister_all_lu_itl_handles() local
4168 ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_deregister_all_lu_itl_handles()
4171 nmaps = ilu->ilu_ref_cnt; in stmf_deregister_all_lu_itl_handles()
4177 if (nmaps != ilu->ilu_ref_cnt) { in stmf_deregister_all_lu_itl_handles()
4326 stmf_i_lu_t *ilu; in stmf_task_alloc() local
4356 ilu = lu->lu_stmf_private; in stmf_task_alloc()
4357 if (ilu->ilu_flags & ILU_RESET_ACTIVE) { in stmf_task_alloc()
4370 if ((ilu->ilu_state == STMF_STATE_OFFLINING) || in stmf_task_alloc()
4371 (ilu->ilu_state == STMF_STATE_OFFLINE)) { in stmf_task_alloc()
4379 if (ilu->ilu_free_tasks == NULL) { in stmf_task_alloc()
4383 mutex_enter(&ilu->ilu_task_lock); in stmf_task_alloc()
4384 for (ppitask = &ilu->ilu_free_tasks; (*ppitask != NULL) && in stmf_task_alloc()
4391 ilu->ilu_ntasks_free--; in stmf_task_alloc()
4392 if (ilu->ilu_ntasks_free < ilu->ilu_ntasks_min_free) in stmf_task_alloc()
4393 ilu->ilu_ntasks_min_free = ilu->ilu_ntasks_free; in stmf_task_alloc()
4397 mutex_exit(&ilu->ilu_task_lock); in stmf_task_alloc()
4471 mutex_enter(&ilu->ilu_task_lock); in stmf_task_alloc()
4472 if (ilu->ilu_flags & ILU_RESET_ACTIVE) { in stmf_task_alloc()
4473 mutex_exit(&ilu->ilu_task_lock); in stmf_task_alloc()
4478 itask->itask_lu_next = ilu->ilu_tasks; in stmf_task_alloc()
4479 if (ilu->ilu_tasks) in stmf_task_alloc()
4480 ilu->ilu_tasks->itask_lu_prev = itask; in stmf_task_alloc()
4481 ilu->ilu_tasks = itask; in stmf_task_alloc()
4483 ilu->ilu_ntasks++; in stmf_task_alloc()
4484 mutex_exit(&ilu->ilu_task_lock); in stmf_task_alloc()
4487 itask->itask_ilu_task_cntr = ilu->ilu_cur_task_cntr; in stmf_task_alloc()
4510 stmf_i_lu_t *ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_task_lu_free() local
4526 mutex_enter(&ilu->ilu_task_lock); in stmf_task_lu_free()
4527 itask->itask_lu_free_next = ilu->ilu_free_tasks; in stmf_task_lu_free()
4528 ilu->ilu_free_tasks = itask; in stmf_task_lu_free()
4529 ilu->ilu_ntasks_free++; in stmf_task_lu_free()
4530 if (ilu->ilu_ntasks == ilu->ilu_ntasks_free) in stmf_task_lu_free()
4531 cv_signal(&ilu->ilu_offline_pending_cv); in stmf_task_lu_free()
4532 mutex_exit(&ilu->ilu_task_lock); in stmf_task_lu_free()
4536 stmf_task_lu_check_freelist(stmf_i_lu_t *ilu) in stmf_task_lu_check_freelist() argument
4540 stmf_lu_t *lu = ilu->ilu_lu; in stmf_task_lu_check_freelist()
4542 ASSERT(ilu->ilu_ntasks_min_free <= ilu->ilu_ntasks_free); in stmf_task_lu_check_freelist()
4545 num_to_release = (ilu->ilu_ntasks_min_free + 1) / 2; in stmf_task_lu_check_freelist()
4550 mutex_enter(&ilu->ilu_task_lock); in stmf_task_lu_check_freelist()
4551 itask = ilu->ilu_free_tasks; in stmf_task_lu_check_freelist()
4553 mutex_exit(&ilu->ilu_task_lock); in stmf_task_lu_check_freelist()
4556 ilu->ilu_free_tasks = itask->itask_lu_free_next; in stmf_task_lu_check_freelist()
4557 ilu->ilu_ntasks_free--; in stmf_task_lu_check_freelist()
4558 mutex_exit(&ilu->ilu_task_lock); in stmf_task_lu_check_freelist()
4561 mutex_enter(&ilu->ilu_task_lock); in stmf_task_lu_check_freelist()
4569 ilu->ilu_tasks = itask->itask_lu_next; in stmf_task_lu_check_freelist()
4571 ilu->ilu_ntasks--; in stmf_task_lu_check_freelist()
4572 mutex_exit(&ilu->ilu_task_lock); in stmf_task_lu_check_freelist()
4583 stmf_i_lu_t *ilu; in stmf_check_freetask() local
4587 while ((ilu = stmf_state.stmf_svc_ilu_draining) != NULL) { in stmf_check_freetask()
4588 stmf_state.stmf_svc_ilu_draining = ilu->ilu_next; in stmf_check_freetask()
4589 if (!ilu->ilu_ntasks_min_free) { in stmf_check_freetask()
4590 ilu->ilu_ntasks_min_free = ilu->ilu_ntasks_free; in stmf_check_freetask()
4593 ilu->ilu_flags |= ILU_STALL_DEREGISTER; in stmf_check_freetask()
4595 stmf_task_lu_check_freelist(ilu); in stmf_check_freetask()
4600 ilu->ilu_ntasks_min_free = ilu->ilu_ntasks_free; in stmf_check_freetask()
4602 ilu->ilu_flags &= ~ILU_STALL_DEREGISTER; in stmf_check_freetask()
4643 stmf_do_ilu_timeouts(stmf_i_lu_t *ilu) in stmf_do_ilu_timeouts() argument
4651 if (mutex_tryenter(&ilu->ilu_task_lock) == 0) { in stmf_do_ilu_timeouts()
4656 for (itask = ilu->ilu_tasks; itask != NULL; in stmf_do_ilu_timeouts()
4682 mutex_exit(&ilu->ilu_task_lock); in stmf_do_ilu_timeouts()
4691 stmf_i_lu_t *ilu; in stmf_check_ilu_timing() local
4695 while ((ilu = stmf_state.stmf_svc_ilu_timing) != NULL) { in stmf_check_ilu_timing()
4696 stmf_state.stmf_svc_ilu_timing = ilu->ilu_next; in stmf_check_ilu_timing()
4697 if (ilu->ilu_cur_task_cntr == (&ilu->ilu_task_cntr1)) { in stmf_check_ilu_timing()
4698 if (ilu->ilu_task_cntr2 == 0) { in stmf_check_ilu_timing()
4699 ilu->ilu_cur_task_cntr = &ilu->ilu_task_cntr2; in stmf_check_ilu_timing()
4703 if (ilu->ilu_task_cntr1 == 0) { in stmf_check_ilu_timing()
4704 ilu->ilu_cur_task_cntr = &ilu->ilu_task_cntr1; in stmf_check_ilu_timing()
4712 ilu->ilu_flags |= ILU_STALL_DEREGISTER; in stmf_check_ilu_timing()
4714 stmf_do_ilu_timeouts(ilu); in stmf_check_ilu_timing()
4716 ilu->ilu_flags &= ~ILU_STALL_DEREGISTER; in stmf_check_ilu_timing()
4729 stmf_i_lu_t *ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_task_lu_killall() local
4732 mutex_enter(&ilu->ilu_task_lock); in stmf_task_lu_killall()
4733 for (itask = ilu->ilu_tasks; itask != NULL; in stmf_task_lu_killall()
4745 mutex_exit(&ilu->ilu_task_lock); in stmf_task_lu_killall()
4841 stmf_i_lu_t *ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_post_task() local
4933 if (ilu->ilu_flags & ILU_RESET_ACTIVE) { in stmf_post_task()
5606 stmf_i_lu_t *ilu; in stmf_ctl() local
5613 ilu = stmf_lookup_lu((stmf_lu_t *)obj); in stmf_ctl()
5614 if (ilu == NULL) { in stmf_ctl()
5618 stmf_lu_t *, ilu->ilu_lu, in stmf_ctl()
5634 switch (ilu->ilu_state) { in stmf_ctl()
5652 ilu->ilu_state = STMF_STATE_ONLINING; in stmf_ctl()
5658 if (ilu->ilu_state != STMF_STATE_ONLINING) { in stmf_ctl()
5664 ilu->ilu_state = STMF_STATE_ONLINE; in stmf_ctl()
5672 ilu->ilu_state = STMF_STATE_OFFLINE; in stmf_ctl()
5678 switch (ilu->ilu_state) { in stmf_ctl()
5695 ilu->ilu_state = STMF_STATE_OFFLINING; in stmf_ctl()
5701 if (ilu->ilu_state != STMF_STATE_OFFLINING) { in stmf_ctl()
5707 ilu->ilu_state = STMF_STATE_OFFLINE; in stmf_ctl()
5713 ilu->ilu_state = STMF_STATE_ONLINE; in stmf_ctl()
6258 stmf_i_lu_t *ilu = in stmf_scsilib_handle_report_tpgs() local
6292 xd = stmf_prepare_tpgs_data(ilu->ilu_alua); in stmf_scsilib_handle_report_tpgs()
6358 stmf_i_lu_t *ilu; in stmf_handle_lun_reset() local
6361 ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_handle_lun_reset()
6369 if (ilu->ilu_flags & ILU_RESET_ACTIVE) { in stmf_handle_lun_reset()
6375 atomic_or_32(&ilu->ilu_flags, ILU_RESET_ACTIVE); in stmf_handle_lun_reset()
6403 stmf_i_lu_t *ilu; in stmf_handle_target_reset() local
6411 ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_handle_target_reset()
6441 ilu = (stmf_i_lu_t *)(lm_ent->ent_lu->lu_stmf_private); in stmf_handle_target_reset()
6442 if (ilu->ilu_flags & ILU_RESET_ACTIVE) { in stmf_handle_target_reset()
6469 ilu = (stmf_i_lu_t *)(lm_ent->ent_lu->lu_stmf_private); in stmf_handle_target_reset()
6470 atomic_or_32(&ilu->ilu_flags, ILU_RESET_ACTIVE); in stmf_handle_target_reset()
7083 stmf_i_lu_t *ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_dlun0_abort() local
7094 atomic_and_32(&ilu->ilu_flags, ~ILU_RESET_ACTIVE); in stmf_dlun0_abort()
7165 stmf_i_lu_t *ilu; in stmf_dlun_init() local
7178 ilu = (stmf_i_lu_t *)dlun0->lu_stmf_private; in stmf_dlun_init()
7179 ilu->ilu_cur_task_cntr = &ilu->ilu_task_cntr1; in stmf_dlun_init()
7185 stmf_i_lu_t *ilu; in stmf_dlun_fini() local
7187 ilu = (stmf_i_lu_t *)dlun0->lu_stmf_private; in stmf_dlun_fini()
7189 ASSERT(ilu->ilu_ntasks == ilu->ilu_ntasks_free); in stmf_dlun_fini()
7190 if (ilu->ilu_ntasks) { in stmf_dlun_fini()
7193 nitask = ilu->ilu_tasks; in stmf_dlun_fini()
7213 stmf_i_lu_t *ilu; in stmf_abort_target_reset() local
7222 ilu = (stmf_i_lu_t *)lm_ent->ent_lu->lu_stmf_private; in stmf_abort_target_reset()
7223 if (ilu->ilu_flags & ILU_RESET_ACTIVE) { in stmf_abort_target_reset()
7224 atomic_and_32(&ilu->ilu_flags, ~ILU_RESET_ACTIVE); in stmf_abort_target_reset()
7237 stmf_i_lu_t *ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_lun_reset_poll() local
7240 ntasks_pending = ilu->ilu_ntasks - ilu->ilu_ntasks_free; in stmf_lun_reset_poll()
7261 atomic_and_32(&ilu->ilu_flags, ~ILU_RESET_ACTIVE); in stmf_lun_reset_poll()
7298 stmf_i_lu_t *ilu; in stmf_target_reset_poll() local
7311 ilu = (stmf_i_lu_t *)lm_ent->ent_lu->lu_stmf_private; in stmf_target_reset_poll()
7312 if (ilu->ilu_flags & ILU_RESET_ACTIVE) { in stmf_target_reset_poll()
7347 stmf_i_lu_t *ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_lu_add_event() local
7353 STMF_EVENT_ADD(ilu->ilu_event_hdl, eventid); in stmf_lu_add_event()
7360 stmf_i_lu_t *ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_lu_remove_event() local
7363 STMF_EVENT_CLEAR_ALL(ilu->ilu_event_hdl); in stmf_lu_remove_event()
7371 STMF_EVENT_REMOVE(ilu->ilu_event_hdl, eventid); in stmf_lu_remove_event()
7409 stmf_generate_lu_event(stmf_i_lu_t *ilu, int eventid, void *arg, uint32_t flags) in stmf_generate_lu_event() argument
7411 if (STMF_EVENT_ENABLED(ilu->ilu_event_hdl, eventid) && in stmf_generate_lu_event()
7412 (ilu->ilu_lu->lu_event_handler != NULL)) { in stmf_generate_lu_event()
7413 ilu->ilu_lu->lu_event_handler(ilu->ilu_lu, eventid, arg, flags); in stmf_generate_lu_event()
7439 stmf_i_lu_t *ilu; in stmf_itl_task_start() local
7446 ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_itl_task_start()
7449 if (ilu->ilu_kstat_io != NULL) { in stmf_itl_task_start()
7450 mutex_enter(ilu->ilu_kstat_io->ks_lock); in stmf_itl_task_start()
7452 mutex_exit(ilu->ilu_kstat_io->ks_lock); in stmf_itl_task_start()
7470 stmf_i_lu_t *ilu; in stmf_itl_lu_new_task() local
7474 ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_itl_lu_new_task()
7475 if (ilu->ilu_kstat_io != NULL) { in stmf_itl_lu_new_task()
7476 mutex_enter(ilu->ilu_kstat_io->ks_lock); in stmf_itl_lu_new_task()
7478 mutex_exit(ilu->ilu_kstat_io->ks_lock); in stmf_itl_lu_new_task()
7489 stmf_i_lu_t *ilu; in stmf_itl_task_done() local
7495 ilu = (stmf_i_lu_t *)task->task_lu->lu_stmf_private; in stmf_itl_task_done()
7497 if (ilu->ilu_kstat_io == NULL) in stmf_itl_task_done()
7502 mutex_enter(ilu->ilu_kstat_io->ks_lock); in stmf_itl_task_done()
7506 mutex_exit(ilu->ilu_kstat_io->ks_lock); in stmf_itl_task_done()
7510 mutex_exit(ilu->ilu_kstat_io->ks_lock); in stmf_itl_task_done()
7633 stmf_i_lu_t *ilu; in stmf_svc() local
7677 ilu = (stmf_i_lu_t *)lu->lu_stmf_private; in stmf_svc()
7678 stmf_wait_ilu_tasks_finish(ilu); in stmf_svc()
7831 stmf_wait_ilu_tasks_finish(stmf_i_lu_t *ilu) in stmf_wait_ilu_tasks_finish() argument
7837 mutex_enter(&ilu->ilu_task_lock); in stmf_wait_ilu_tasks_finish()
7838 while (ilu->ilu_ntasks != ilu->ilu_ntasks_free) { in stmf_wait_ilu_tasks_finish()
7839 (void) cv_timedwait(&ilu->ilu_offline_pending_cv, in stmf_wait_ilu_tasks_finish()
7840 &ilu->ilu_task_lock, deadline); in stmf_wait_ilu_tasks_finish()
7854 mutex_exit(&ilu->ilu_task_lock); in stmf_wait_ilu_tasks_finish()
8313 stmf_i_lu_t *ilu = NULL; in stmf_check_and_hold_lu() local
8337 ilu = lu->lu_stmf_private; in stmf_check_and_hold_lu()
8338 mutex_enter(&ilu->ilu_task_lock); in stmf_check_and_hold_lu()
8339 ilu->ilu_additional_ref++; in stmf_check_and_hold_lu()
8340 mutex_exit(&ilu->ilu_task_lock); in stmf_check_and_hold_lu()
8350 stmf_i_lu_t *ilu; in stmf_release_lu() local
8352 ilu = lu->lu_stmf_private; in stmf_release_lu()
8353 ASSERT(ilu->ilu_additional_ref != 0); in stmf_release_lu()
8354 mutex_enter(&ilu->ilu_task_lock); in stmf_release_lu()
8355 ilu->ilu_additional_ref--; in stmf_release_lu()
8356 mutex_exit(&ilu->ilu_task_lock); in stmf_release_lu()