Lines Matching refs:sess

958 	if (conn->sess->sess_ops->RDMAExtensions)
1002 atomic_long_inc(&conn->sess->cmd_pdus);
1060 if (payload_length && !conn->sess->sess_ops->ImmediateData) {
1092 if (payload_length > conn->sess->sess_ops->FirstBurstLength) {
1095 payload_length, conn->sess->sess_ops->FirstBurstLength);
1133 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt;
1135 cmd->targ_xfer_tag = session_get_next_ttt(conn->sess);
1142 if (!conn->sess->sess_ops->RDMAExtensions &&
1158 conn->sess->se_sess, be32_to_cpu(hdr->data_length),
1456 atomic_long_add(payload_length, &conn->sess->rx_data_octets);
1488 if (conn->sess->sess_ops->InitialR2T) {
1770 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt;
1902 if (!conn->sess->sess_ops->ErrorRecoveryLevel) {
2016 conn->sess->se_sess, 0, DMA_NONE,
2178 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt;
2304 if (!conn->sess->sess_ops->ErrorRecoveryLevel) {
2342 struct iscsi_session *sess = conn->sess;
2345 " for SID: %u.\n", conn->cid, conn->sess->sid);
2347 atomic_set(&sess->session_logout, 1);
2352 iscsit_inc_session_usage_count(sess);
2354 spin_lock_bh(&sess->conn_lock);
2355 list_for_each_entry(conn_p, &sess->sess_conn_list, conn_list) {
2362 spin_unlock_bh(&sess->conn_lock);
2372 struct iscsi_session *sess = conn->sess;
2400 l_conn = iscsit_get_conn_from_cid(sess,
2419 struct iscsi_session *sess = conn->sess;
2424 if (sess->sess_ops->ErrorRecoveryLevel != 2) {
2482 conn->sess->init_task_tag = cmd->init_task_tag = hdr->itt;
2541 if (!conn->sess->sess_ops->ErrorRecoveryLevel) {
2665 if (!conn->sess->sess_ops->ErrorRecoveryLevel) {
2706 lockdep_assert_held(&conn->sess->conn_lock);
2712 list_for_each_entry(conn_p, &conn->sess->sess_conn_list, conn_list) {
2757 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
2758 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
2761 hdr->param2 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Wait);
2762 hdr->param3 = cpu_to_be16(conn->sess->sess_ops->DefaultTime2Retain);
2815 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
2816 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
2853 atomic_long_add(datain.length, &conn->sess->tx_data_octets);
2864 iscsit_increment_maxcmdsn(cmd, conn->sess);
2893 struct iscsi_session *sess = conn->sess;
2932 logout_conn = iscsit_get_conn_from_cid_rcfr(sess,
2940 conn->sess, cmd->logout_cid);
2969 iscsit_increment_maxcmdsn(cmd, conn->sess);
2970 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
2971 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
3011 iscsit_increment_maxcmdsn(cmd, conn->sess);
3013 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
3014 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
3091 r2t->targ_xfer_tag = session_get_next_ttt(conn->sess);
3094 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
3095 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
3140 if (conn->sess->sess_ops->DataSequenceInOrder &&
3144 while (cmd->outstanding_r2ts < conn->sess->sess_ops->MaxOutstandingR2T) {
3145 if (conn->sess->sess_ops->DataSequenceInOrder) {
3150 conn->sess->sess_ops->MaxBurstLength -
3157 conn->sess->sess_ops->MaxBurstLength -
3161 conn->sess->sess_ops->MaxBurstLength;
3166 xfer_len = conn->sess->sess_ops->MaxBurstLength;
3216 atomic_long_inc(&conn->sess->rsp_pdus);
3233 iscsit_increment_maxcmdsn(cmd, conn->sess);
3234 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
3235 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
3313 iscsit_increment_maxcmdsn(cmd, conn->sess);
3314 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
3315 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
3396 cmd->conn->sess->sess_ops->InitiatorName))) {
3505 cmd->targ_xfer_tag = session_get_next_ttt(conn->sess);
3515 iscsit_increment_maxcmdsn(cmd, conn->sess);
3522 hdr->exp_cmdsn = cpu_to_be32(conn->sess->exp_cmd_sn);
3523 hdr->max_cmdsn = cpu_to_be32((u32) atomic_read(&conn->sess->max_cmd_sn));
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));
3735 iscsit_fall_back_to_erl0(conn->sess);
3924 if (!conn->sess->sess_ops->ErrorRecoveryLevel) {
4003 atomic_long_inc(&conn->sess->conn_digest_errors);
4015 if (conn->sess->sess_ops->SessionType &&
4075 struct iscsi_session *sess = conn->sess;
4110 iscsit_increment_maxcmdsn(cmd, sess);
4133 struct iscsi_session *sess = conn->sess;
4136 " %u\n", conn->cid, sess->sid);
4203 iscsit_dec_session_usage_count(sess);
4209 atomic_set(&sess->session_reinstatement, 0);
4210 atomic_set(&sess->session_fall_back_to_erl0, 1);
4213 spin_lock_bh(&sess->conn_lock);
4224 spin_unlock_bh(&sess->conn_lock);
4279 spin_lock_bh(&sess->conn_lock);
4280 atomic_dec(&sess->nconn);
4282 " %s\n", atomic_read(&sess->nconn),
4283 sess->sess_ops->InitiatorName);
4288 if ((sess->sess_ops->ErrorRecoveryLevel != 2) && !conn_logout &&
4289 !atomic_read(&sess->session_logout))
4290 atomic_set(&sess->session_fall_back_to_erl0, 1);
4298 if (atomic_read(&sess->nconn)) {
4299 if (!atomic_read(&sess->session_reinstatement) &&
4300 !atomic_read(&sess->session_fall_back_to_erl0)) {
4301 spin_unlock_bh(&sess->conn_lock);
4304 if (!atomic_read(&sess->session_stop_active)) {
4305 atomic_set(&sess->session_stop_active, 1);
4306 spin_unlock_bh(&sess->conn_lock);
4307 iscsit_stop_session(sess, 0, 0);
4310 spin_unlock_bh(&sess->conn_lock);
4327 if (!atomic_read(&sess->session_reinstatement) &&
4328 atomic_read(&sess->session_fall_back_to_erl0)) {
4329 spin_unlock_bh(&sess->conn_lock);
4330 complete_all(&sess->session_wait_comp);
4331 iscsit_close_session(sess);
4334 } else if (atomic_read(&sess->session_logout)) {
4336 sess->session_state = TARG_SESS_STATE_FREE;
4338 if (atomic_read(&sess->session_close)) {
4339 spin_unlock_bh(&sess->conn_lock);
4340 complete_all(&sess->session_wait_comp);
4341 iscsit_close_session(sess);
4343 spin_unlock_bh(&sess->conn_lock);
4349 sess->session_state = TARG_SESS_STATE_FAILED;
4351 if (!atomic_read(&sess->session_continuation))
4352 iscsit_start_time2retain_handler(sess);
4354 if (atomic_read(&sess->session_close)) {
4355 spin_unlock_bh(&sess->conn_lock);
4356 complete_all(&sess->session_wait_comp);
4357 iscsit_close_session(sess);
4359 spin_unlock_bh(&sess->conn_lock);
4370 int iscsit_close_session(struct iscsi_session *sess)
4372 struct iscsi_portal_group *tpg = sess->tpg;
4375 if (atomic_read(&sess->nconn)) {
4377 " to %s\n", atomic_read(&sess->nconn),
4378 sess->sess_ops->InitiatorName);
4383 atomic_set(&sess->session_logout, 1);
4384 atomic_set(&sess->session_reinstatement, 1);
4385 iscsit_stop_time2retain_timer(sess);
4388 if (sess->sess_ops->ErrorRecoveryLevel == 2)
4389 iscsit_free_connection_recovery_entries(sess);
4398 transport_deregister_session_configfs(sess->se_sess);
4407 iscsit_check_session_usage_count(sess);
4409 if (iscsit_check_session_usage_count(sess) == 2) {
4410 atomic_set(&sess->session_logout, 0);
4411 iscsit_start_time2retain_handler(sess);
4416 transport_deregister_session(sess->se_sess);
4418 iscsit_free_all_ooo_cmdsns(sess);
4422 sess->session_state = TARG_SESS_STATE_FREE;
4424 sess->sess_ops->InitiatorName);
4432 ida_free(&sess_ida, sess->session_index);
4433 kfree(sess->sess_ops);
4434 sess->sess_ops = NULL;
4437 kfree(sess);
4444 struct iscsi_session *sess = conn->sess;
4465 atomic_set(&sess->session_close, 1);
4466 iscsit_stop_session(sess, sleep, sleep);
4467 iscsit_dec_session_usage_count(sess);
4493 struct iscsi_session *sess = conn->sess;
4496 if (!sess)
4499 spin_lock_bh(&sess->conn_lock);
4500 list_for_each_entry(l_conn, &sess->sess_conn_list, conn_list) {
4507 spin_unlock_bh(&sess->conn_lock);
4585 void iscsit_fail_session(struct iscsi_session *sess)
4589 spin_lock_bh(&sess->conn_lock);
4590 list_for_each_entry(conn, &sess->sess_conn_list, conn_list) {
4594 spin_unlock_bh(&sess->conn_lock);
4597 sess->session_state = TARG_SESS_STATE_FAILED;
4601 struct iscsi_session *sess,
4605 u16 conn_count = atomic_read(&sess->nconn);
4609 spin_lock_bh(&sess->conn_lock);
4612 list_for_each_entry_safe(conn, conn_tmp, &sess->sess_conn_list,
4617 if (list_is_last(&conn->conn_list, &sess->sess_conn_list)) {
4625 spin_unlock_bh(&sess->conn_lock);
4627 spin_lock_bh(&sess->conn_lock);
4635 list_for_each_entry(conn, &sess->sess_conn_list, conn_list)
4639 if (session_sleep && atomic_read(&sess->nconn)) {
4640 spin_unlock_bh(&sess->conn_lock);
4641 wait_for_completion(&sess->session_wait_comp);
4643 spin_unlock_bh(&sess->conn_lock);
4648 struct iscsi_session *sess;
4662 sess = (struct iscsi_session *)se_sess->fabric_sess_ptr;
4664 spin_lock(&sess->conn_lock);
4665 if (atomic_read(&sess->session_fall_back_to_erl0) ||
4666 atomic_read(&sess->session_logout) ||
4667 atomic_read(&sess->session_close) ||
4668 (sess->time2retain_timer_flags & ISCSI_TF_EXPIRED)) {
4669 spin_unlock(&sess->conn_lock);
4672 iscsit_inc_session_usage_count(sess);
4673 atomic_set(&sess->session_reinstatement, 1);
4674 atomic_set(&sess->session_fall_back_to_erl0, 1);
4675 atomic_set(&sess->session_close, 1);
4676 spin_unlock(&sess->conn_lock);
4683 sess = (struct iscsi_session *)se_sess->fabric_sess_ptr;
4686 iscsit_stop_session(sess, 1, 1);
4687 iscsit_dec_session_usage_count(sess);