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