Lines Matching refs:sess

966 	if (conn->sess->sess_ops->RDMAExtensions)  in iscsit_ack_from_expstatsn()
1012 atomic_long_inc(&conn->sess->cmd_pdus); in iscsit_setup_scsi_cmd()
1070 if (payload_length && !conn->sess->sess_ops->ImmediateData) { in iscsit_setup_scsi_cmd()
1102 if (payload_length > conn->sess->sess_ops->FirstBurstLength) { in iscsit_setup_scsi_cmd()
1105 payload_length, conn->sess->sess_ops->FirstBurstLength); in iscsit_setup_scsi_cmd()
1164 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_scsi_cmd()
1166 cmd->targ_xfer_tag = session_get_next_ttt(conn->sess); in iscsit_setup_scsi_cmd()
1173 if (!conn->sess->sess_ops->RDMAExtensions && in iscsit_setup_scsi_cmd()
1192 conn->sess->se_sess, be32_to_cpu(hdr->data_length), in iscsit_setup_scsi_cmd()
1496 atomic_long_add(payload_length, &conn->sess->rx_data_octets); in __iscsit_check_dataout_hdr()
1528 if (conn->sess->sess_ops->InitialR2T) { in __iscsit_check_dataout_hdr()
1810 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_nop_out()
1942 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_handle_nop_out()
2056 conn->sess->se_sess, 0, DMA_NONE, in iscsit_handle_task_mgt_cmd()
2219 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_setup_text_cmd()
2345 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_handle_text_cmd()
2383 struct iscsit_session *sess = conn->sess; in iscsit_logout_closesession() local
2386 " for SID: %u.\n", conn->cid, conn->sess->sid); in iscsit_logout_closesession()
2388 atomic_set(&sess->session_logout, 1); in iscsit_logout_closesession()
2393 iscsit_inc_session_usage_count(sess); in iscsit_logout_closesession()
2395 spin_lock_bh(&sess->conn_lock); in iscsit_logout_closesession()
2396 list_for_each_entry(conn_p, &sess->sess_conn_list, conn_list) { in iscsit_logout_closesession()
2403 spin_unlock_bh(&sess->conn_lock); in iscsit_logout_closesession()
2413 struct iscsit_session *sess = conn->sess; in iscsit_logout_closeconnection() local
2441 l_conn = iscsit_get_conn_from_cid(sess, in iscsit_logout_closeconnection()
2460 struct iscsit_session *sess = conn->sess; in iscsit_logout_removeconnforrecovery() local
2465 if (sess->sess_ops->ErrorRecoveryLevel != 2) { in iscsit_logout_removeconnforrecovery()
2523 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt; in iscsit_handle_logout_cmd()
2582 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_handle_snack()
2706 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_handle_immediate_data()
2747 lockdep_assert_held(&conn->sess->conn_lock); in iscsit_build_conn_drop_async_message()
2753 list_for_each_entry(conn_p, &conn->sess->sess_conn_list, conn_list) { in iscsit_build_conn_drop_async_message()
2798 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_send_conn_drop_async_message()
2799 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_send_conn_drop_async_message()
2802 hdr->param2 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Wait); in iscsit_send_conn_drop_async_message()
2803 hdr->param3 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Retain); in iscsit_send_conn_drop_async_message()
2856 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_datain_pdu()
2857 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_datain_pdu()
2894 atomic_long_add(datain.length, &conn->sess->tx_data_octets); in iscsit_send_datain()
2905 iscsit_increment_maxcmdsn(cmd, conn->sess); in iscsit_send_datain()
2934 struct iscsit_session *sess = conn->sess; in iscsit_build_logout_rsp() local
2973 logout_conn = iscsit_get_conn_from_cid_rcfr(sess, in iscsit_build_logout_rsp()
2981 conn->sess, cmd->logout_cid); in iscsit_build_logout_rsp()
3010 iscsit_increment_maxcmdsn(cmd, conn->sess); in iscsit_build_logout_rsp()
3011 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_logout_rsp()
3012 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_logout_rsp()
3052 iscsit_increment_maxcmdsn(cmd, conn->sess); in iscsit_build_nopin_rsp()
3054 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_nopin_rsp()
3055 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_nopin_rsp()
3132 r2t->targ_xfer_tag = session_get_next_ttt(conn->sess); in iscsit_send_r2t()
3135 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_send_r2t()
3136 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_send_r2t()
3181 if (conn->sess->sess_ops->DataSequenceInOrder && in iscsit_build_r2ts_for_cmd()
3185 while (cmd->outstanding_r2ts < conn->sess->sess_ops->MaxOutstandingR2T) { in iscsit_build_r2ts_for_cmd()
3186 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_build_r2ts_for_cmd()
3191 conn->sess->sess_ops->MaxBurstLength - in iscsit_build_r2ts_for_cmd()
3198 conn->sess->sess_ops->MaxBurstLength - in iscsit_build_r2ts_for_cmd()
3202 conn->sess->sess_ops->MaxBurstLength; in iscsit_build_r2ts_for_cmd()
3207 xfer_len = conn->sess->sess_ops->MaxBurstLength; in iscsit_build_r2ts_for_cmd()
3257 atomic_long_inc(&conn->sess->rsp_pdus); in iscsit_build_rsp_pdu()
3274 iscsit_increment_maxcmdsn(cmd, conn->sess); in iscsit_build_rsp_pdu()
3275 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_rsp_pdu()
3276 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_rsp_pdu()
3354 iscsit_increment_maxcmdsn(cmd, conn->sess); in iscsit_build_task_mgt_rsp()
3355 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_task_mgt_rsp()
3356 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_task_mgt_rsp()
3437 cmd->conn->sess->sess_ops->InitiatorName))) { in iscsit_build_sendtargets_response()
3546 cmd->targ_xfer_tag = session_get_next_ttt(conn->sess); in iscsit_build_text_rsp()
3556 iscsit_increment_maxcmdsn(cmd, conn->sess); in iscsit_build_text_rsp()
3563 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_text_rsp()
3564 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_text_rsp()
3604 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn); in iscsit_build_reject()
3605 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn)); in iscsit_build_reject()
3850 iscsit_fall_back_to_erl0(conn->sess); in iscsit_response_queue()
4039 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsi_target_rx_opcode()
4138 atomic_long_inc(&conn->sess->conn_digest_errors); in iscsit_get_rx_pdu()
4150 if (conn->sess->sess_ops->SessionType && in iscsit_get_rx_pdu()
4210 struct iscsit_session *sess = conn->sess; in iscsit_release_commands_from_conn() local
4255 iscsit_increment_maxcmdsn(cmd, sess); in iscsit_release_commands_from_conn()
4288 struct iscsit_session *sess = conn->sess; in iscsit_close_connection() local
4291 " %u\n", conn->cid, sess->sid); in iscsit_close_connection()
4358 iscsit_dec_session_usage_count(sess); in iscsit_close_connection()
4364 atomic_set(&sess->session_reinstatement, 0); in iscsit_close_connection()
4365 atomic_set(&sess->session_fall_back_to_erl0, 1); in iscsit_close_connection()
4368 spin_lock_bh(&sess->conn_lock); in iscsit_close_connection()
4379 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4434 spin_lock_bh(&sess->conn_lock); in iscsit_close_connection()
4435 atomic_dec(&sess->nconn); in iscsit_close_connection()
4437 " %s\n", atomic_read(&sess->nconn), in iscsit_close_connection()
4438 sess->sess_ops->InitiatorName); in iscsit_close_connection()
4443 if ((sess->sess_ops->ErrorRecoveryLevel != 2) && !conn_logout && in iscsit_close_connection()
4444 !atomic_read(&sess->session_logout)) in iscsit_close_connection()
4445 atomic_set(&sess->session_fall_back_to_erl0, 1); in iscsit_close_connection()
4453 if (atomic_read(&sess->nconn)) { in iscsit_close_connection()
4454 if (!atomic_read(&sess->session_reinstatement) && in iscsit_close_connection()
4455 !atomic_read(&sess->session_fall_back_to_erl0)) { in iscsit_close_connection()
4456 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4459 if (!atomic_read(&sess->session_stop_active)) { in iscsit_close_connection()
4460 atomic_set(&sess->session_stop_active, 1); in iscsit_close_connection()
4461 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4462 iscsit_stop_session(sess, 0, 0); in iscsit_close_connection()
4465 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4482 if (!atomic_read(&sess->session_reinstatement) && in iscsit_close_connection()
4483 atomic_read(&sess->session_fall_back_to_erl0)) { in iscsit_close_connection()
4484 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4485 complete_all(&sess->session_wait_comp); in iscsit_close_connection()
4486 iscsit_close_session(sess, true); in iscsit_close_connection()
4489 } else if (atomic_read(&sess->session_logout)) { in iscsit_close_connection()
4491 sess->session_state = TARG_SESS_STATE_FREE; in iscsit_close_connection()
4493 if (atomic_read(&sess->session_close)) { in iscsit_close_connection()
4494 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4495 complete_all(&sess->session_wait_comp); in iscsit_close_connection()
4496 iscsit_close_session(sess, true); in iscsit_close_connection()
4498 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4504 sess->session_state = TARG_SESS_STATE_FAILED; in iscsit_close_connection()
4506 if (!atomic_read(&sess->session_continuation)) in iscsit_close_connection()
4507 iscsit_start_time2retain_handler(sess); in iscsit_close_connection()
4509 if (atomic_read(&sess->session_close)) { in iscsit_close_connection()
4510 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4511 complete_all(&sess->session_wait_comp); in iscsit_close_connection()
4512 iscsit_close_session(sess, true); in iscsit_close_connection()
4514 spin_unlock_bh(&sess->conn_lock); in iscsit_close_connection()
4525 int iscsit_close_session(struct iscsit_session *sess, bool can_sleep) in iscsit_close_session() argument
4527 struct iscsi_portal_group *tpg = sess->tpg; in iscsit_close_session()
4530 if (atomic_read(&sess->nconn)) { in iscsit_close_session()
4532 " to %s\n", atomic_read(&sess->nconn), in iscsit_close_session()
4533 sess->sess_ops->InitiatorName); in iscsit_close_session()
4538 atomic_set(&sess->session_logout, 1); in iscsit_close_session()
4539 atomic_set(&sess->session_reinstatement, 1); in iscsit_close_session()
4540 iscsit_stop_time2retain_timer(sess); in iscsit_close_session()
4543 if (sess->sess_ops->ErrorRecoveryLevel == 2) in iscsit_close_session()
4544 iscsit_free_connection_recovery_entries(sess); in iscsit_close_session()
4553 transport_deregister_session_configfs(sess->se_sess); in iscsit_close_session()
4561 if (iscsit_check_session_usage_count(sess, can_sleep)) { in iscsit_close_session()
4562 atomic_set(&sess->session_logout, 0); in iscsit_close_session()
4563 iscsit_start_time2retain_handler(sess); in iscsit_close_session()
4567 transport_deregister_session(sess->se_sess); in iscsit_close_session()
4569 iscsit_free_all_ooo_cmdsns(sess); in iscsit_close_session()
4573 sess->session_state = TARG_SESS_STATE_FREE; in iscsit_close_session()
4575 sess->sess_ops->InitiatorName); in iscsit_close_session()
4583 ida_free(&sess_ida, sess->session_index); in iscsit_close_session()
4584 kfree(sess->sess_ops); in iscsit_close_session()
4585 sess->sess_ops = NULL; in iscsit_close_session()
4588 kfree(sess); in iscsit_close_session()
4595 struct iscsit_session *sess = conn->sess; in iscsit_logout_post_handler_closesession() local
4616 atomic_set(&sess->session_close, 1); in iscsit_logout_post_handler_closesession()
4617 iscsit_stop_session(sess, sleep, sleep); in iscsit_logout_post_handler_closesession()
4618 iscsit_dec_session_usage_count(sess); in iscsit_logout_post_handler_closesession()
4644 struct iscsit_session *sess = conn->sess; in iscsit_logout_post_handler_diffcid() local
4647 if (!sess) in iscsit_logout_post_handler_diffcid()
4650 spin_lock_bh(&sess->conn_lock); in iscsit_logout_post_handler_diffcid()
4651 list_for_each_entry(l_conn, &sess->sess_conn_list, conn_list) { in iscsit_logout_post_handler_diffcid()
4658 spin_unlock_bh(&sess->conn_lock); in iscsit_logout_post_handler_diffcid()
4736 void iscsit_fail_session(struct iscsit_session *sess) in iscsit_fail_session() argument
4740 spin_lock_bh(&sess->conn_lock); in iscsit_fail_session()
4741 list_for_each_entry(conn, &sess->sess_conn_list, conn_list) { in iscsit_fail_session()
4745 spin_unlock_bh(&sess->conn_lock); in iscsit_fail_session()
4748 sess->session_state = TARG_SESS_STATE_FAILED; in iscsit_fail_session()
4752 struct iscsit_session *sess, in iscsit_stop_session() argument
4756 u16 conn_count = atomic_read(&sess->nconn); in iscsit_stop_session()
4760 spin_lock_bh(&sess->conn_lock); in iscsit_stop_session()
4763 list_for_each_entry_safe(conn, conn_tmp, &sess->sess_conn_list, in iscsit_stop_session()
4768 if (list_is_last(&conn->conn_list, &sess->sess_conn_list)) { in iscsit_stop_session()
4776 spin_unlock_bh(&sess->conn_lock); in iscsit_stop_session()
4778 spin_lock_bh(&sess->conn_lock); in iscsit_stop_session()
4786 list_for_each_entry(conn, &sess->sess_conn_list, conn_list) in iscsit_stop_session()
4790 if (session_sleep && atomic_read(&sess->nconn)) { in iscsit_stop_session()
4791 spin_unlock_bh(&sess->conn_lock); in iscsit_stop_session()
4792 wait_for_completion(&sess->session_wait_comp); in iscsit_stop_session()
4794 spin_unlock_bh(&sess->conn_lock); in iscsit_stop_session()
4799 struct iscsit_session *sess; in iscsit_release_sessions_for_tpg() local
4813 sess = (struct iscsit_session *)se_sess->fabric_sess_ptr; in iscsit_release_sessions_for_tpg()
4815 spin_lock(&sess->conn_lock); in iscsit_release_sessions_for_tpg()
4816 if (atomic_read(&sess->session_fall_back_to_erl0) || in iscsit_release_sessions_for_tpg()
4817 atomic_read(&sess->session_logout) || in iscsit_release_sessions_for_tpg()
4818 atomic_read(&sess->session_close) || in iscsit_release_sessions_for_tpg()
4819 (sess->time2retain_timer_flags & ISCSI_TF_EXPIRED)) { in iscsit_release_sessions_for_tpg()
4820 spin_unlock(&sess->conn_lock); in iscsit_release_sessions_for_tpg()
4823 iscsit_inc_session_usage_count(sess); in iscsit_release_sessions_for_tpg()
4824 atomic_set(&sess->session_reinstatement, 1); in iscsit_release_sessions_for_tpg()
4825 atomic_set(&sess->session_fall_back_to_erl0, 1); in iscsit_release_sessions_for_tpg()
4826 atomic_set(&sess->session_close, 1); in iscsit_release_sessions_for_tpg()
4827 spin_unlock(&sess->conn_lock); in iscsit_release_sessions_for_tpg()
4834 sess = (struct iscsit_session *)se_sess->fabric_sess_ptr; in iscsit_release_sessions_for_tpg()
4837 iscsit_stop_session(sess, 1, 1); in iscsit_release_sessions_for_tpg()
4838 iscsit_dec_session_usage_count(sess); in iscsit_release_sessions_for_tpg()