Lines Matching refs:conn
43 struct iscsi_conn *conn = cmd->conn; in iscsit_set_dataout_sequence_values() local
52 conn->sess->sess_ops->FirstBurstLength) ? in iscsit_set_dataout_sequence_values()
53 conn->sess->sess_ops->FirstBurstLength : cmd->se_cmd.data_length)); in iscsit_set_dataout_sequence_values()
57 if (!conn->sess->sess_ops->DataSequenceInOrder) in iscsit_set_dataout_sequence_values()
63 conn->sess->sess_ops->MaxBurstLength) ? in iscsit_set_dataout_sequence_values()
65 conn->sess->sess_ops->MaxBurstLength) : cmd->se_cmd.data_length; in iscsit_set_dataout_sequence_values()
69 conn->sess->sess_ops->MaxBurstLength) >= in iscsit_set_dataout_sequence_values()
72 conn->sess->sess_ops->MaxBurstLength); in iscsit_set_dataout_sequence_values()
80 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_within_command_recovery_check() local
96 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_within_command_recovery_check()
114 if (conn->sess->sess_ops->DataPDUInOrder) { in iscsit_dataout_within_command_recovery_check()
139 return iscsit_dump_data_payload(conn, payload_length, 1); in iscsit_dataout_within_command_recovery_check()
147 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_check_unsolicited_sequence() local
164 if (first_burst_len > conn->sess->sess_ops->FirstBurstLength) { in iscsit_dataout_check_unsolicited_sequence()
167 first_burst_len, conn->sess->sess_ops->FirstBurstLength); in iscsit_dataout_check_unsolicited_sequence()
183 if (!conn->sess->sess_ops->DataPDUInOrder) in iscsit_dataout_check_unsolicited_sequence()
187 (first_burst_len != conn->sess->sess_ops->FirstBurstLength)) { in iscsit_dataout_check_unsolicited_sequence()
191 conn->sess->sess_ops->FirstBurstLength, in iscsit_dataout_check_unsolicited_sequence()
198 if (first_burst_len == conn->sess->sess_ops->FirstBurstLength) { in iscsit_dataout_check_unsolicited_sequence()
202 conn->sess->sess_ops->FirstBurstLength); in iscsit_dataout_check_unsolicited_sequence()
222 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_check_sequence() local
234 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_check_sequence()
248 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) in iscsit_dataout_check_sequence()
265 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) in iscsit_dataout_check_sequence()
273 if (next_burst_len > conn->sess->sess_ops->MaxBurstLength) { in iscsit_dataout_check_sequence()
278 payload_length, conn->sess->sess_ops->MaxBurstLength); in iscsit_dataout_check_sequence()
292 if (!conn->sess->sess_ops->DataPDUInOrder) in iscsit_dataout_check_sequence()
295 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_check_sequence()
297 conn->sess->sess_ops->MaxBurstLength) && in iscsit_dataout_check_sequence()
314 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_check_sequence()
316 conn->sess->sess_ops->MaxBurstLength) { in iscsit_dataout_check_sequence()
320 conn->sess->sess_ops->MaxBurstLength); in iscsit_dataout_check_sequence()
352 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_check_datasn() local
364 if (conn->sess->sess_ops->DataSequenceInOrder) in iscsit_dataout_check_datasn()
388 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_dataout_check_datasn()
394 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) in iscsit_dataout_check_datasn()
406 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_pre_datapduinorder_yes() local
419 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_pre_datapduinorder_yes()
449 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_dataout_pre_datapduinorder_yes()
455 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) in iscsit_dataout_pre_datapduinorder_yes()
487 return iscsit_dump_data_payload(cmd->conn, payload_length, 1); in iscsit_dataout_pre_datapduinorder_no()
552 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_post_crc_passed() local
559 conn->sess->sess_ops->FirstBurstLength) { in iscsit_dataout_post_crc_passed()
566 if (!conn->sess->sess_ops->DataPDUInOrder) { in iscsit_dataout_post_crc_passed()
576 if (conn->sess->sess_ops->DataSequenceInOrder) in iscsit_dataout_post_crc_passed()
591 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_post_crc_passed()
593 conn->sess->sess_ops->MaxBurstLength) { in iscsit_dataout_post_crc_passed()
601 if (!conn->sess->sess_ops->DataPDUInOrder) { in iscsit_dataout_post_crc_passed()
626 if (!conn->sess->sess_ops->DataPDUInOrder) { in iscsit_dataout_post_crc_passed()
645 if (send_r2t && conn->sess->sess_ops->DataSequenceInOrder) in iscsit_dataout_post_crc_passed()
662 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_post_crc_failed() local
667 if (conn->sess->sess_ops->DataPDUInOrder) in iscsit_dataout_post_crc_failed()
701 struct iscsi_conn *conn = cmd->conn; in iscsit_check_pre_dataout() local
725 return (conn->sess->sess_ops->DataPDUInOrder) ? in iscsit_check_pre_dataout()
739 struct iscsi_conn *conn = cmd->conn; in iscsit_check_post_dataout() local
746 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_check_post_dataout()
856 void iscsit_connection_reinstatement_rcfr(struct iscsi_conn *conn) in iscsit_connection_reinstatement_rcfr() argument
858 spin_lock_bh(&conn->state_lock); in iscsit_connection_reinstatement_rcfr()
859 if (atomic_read(&conn->connection_exit)) { in iscsit_connection_reinstatement_rcfr()
860 spin_unlock_bh(&conn->state_lock); in iscsit_connection_reinstatement_rcfr()
864 if (atomic_read(&conn->transport_failed)) { in iscsit_connection_reinstatement_rcfr()
865 spin_unlock_bh(&conn->state_lock); in iscsit_connection_reinstatement_rcfr()
868 spin_unlock_bh(&conn->state_lock); in iscsit_connection_reinstatement_rcfr()
870 iscsi_thread_set_force_reinstatement(conn); in iscsit_connection_reinstatement_rcfr()
873 wait_for_completion(&conn->conn_wait_rcfr_comp); in iscsit_connection_reinstatement_rcfr()
874 complete(&conn->conn_post_wait_comp); in iscsit_connection_reinstatement_rcfr()
877 void iscsit_cause_connection_reinstatement(struct iscsi_conn *conn, int sleep) in iscsit_cause_connection_reinstatement() argument
879 spin_lock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
880 if (atomic_read(&conn->connection_exit)) { in iscsit_cause_connection_reinstatement()
881 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
885 if (atomic_read(&conn->transport_failed)) { in iscsit_cause_connection_reinstatement()
886 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
890 if (atomic_read(&conn->connection_reinstatement)) { in iscsit_cause_connection_reinstatement()
891 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
895 if (iscsi_thread_set_force_reinstatement(conn) < 0) { in iscsit_cause_connection_reinstatement()
896 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
900 atomic_set(&conn->connection_reinstatement, 1); in iscsit_cause_connection_reinstatement()
902 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
906 atomic_set(&conn->sleep_on_conn_wait_comp, 1); in iscsit_cause_connection_reinstatement()
907 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
909 wait_for_completion(&conn->conn_wait_comp); in iscsit_cause_connection_reinstatement()
910 complete(&conn->conn_post_wait_comp); in iscsit_cause_connection_reinstatement()
921 static void iscsit_handle_connection_cleanup(struct iscsi_conn *conn) in iscsit_handle_connection_cleanup() argument
923 struct iscsi_session *sess = conn->sess; in iscsit_handle_connection_cleanup()
928 iscsit_connection_recovery_transport_reset(conn); in iscsit_handle_connection_cleanup()
931 " Connection ID: %hu from %s\n", conn->cid, in iscsit_handle_connection_cleanup()
933 iscsit_close_connection(conn); in iscsit_handle_connection_cleanup()
937 void iscsit_take_action_for_connection_exit(struct iscsi_conn *conn) in iscsit_take_action_for_connection_exit() argument
939 spin_lock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
940 if (atomic_read(&conn->connection_exit)) { in iscsit_take_action_for_connection_exit()
941 spin_unlock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
944 atomic_set(&conn->connection_exit, 1); in iscsit_take_action_for_connection_exit()
946 if (conn->conn_state == TARG_CONN_STATE_IN_LOGOUT) { in iscsit_take_action_for_connection_exit()
947 spin_unlock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
948 iscsit_close_connection(conn); in iscsit_take_action_for_connection_exit()
952 if (conn->conn_state == TARG_CONN_STATE_CLEANUP_WAIT) { in iscsit_take_action_for_connection_exit()
953 spin_unlock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
958 conn->conn_state = TARG_CONN_STATE_CLEANUP_WAIT; in iscsit_take_action_for_connection_exit()
959 spin_unlock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
961 iscsit_handle_connection_cleanup(conn); in iscsit_take_action_for_connection_exit()
980 int iscsit_recover_from_unknown_opcode(struct iscsi_conn *conn) in iscsit_recover_from_unknown_opcode() argument
985 if (conn->of_marker > (conn->conn_ops->OFMarkInt * 4)) { in iscsit_recover_from_unknown_opcode()
987 " OFMarkInt bytes: %u.\n", conn->of_marker, in iscsit_recover_from_unknown_opcode()
988 conn->conn_ops->OFMarkInt * 4); in iscsit_recover_from_unknown_opcode()
993 " next OFMarker.\n", conn->of_marker); in iscsit_recover_from_unknown_opcode()
995 if (iscsit_dump_data_payload(conn, conn->of_marker, 0) < 0) in iscsit_recover_from_unknown_opcode()
1001 if (conn->of_marker_offset > (ISCSI_HDR_LEN + (ISCSI_CRC_LEN * 2) + in iscsit_recover_from_unknown_opcode()
1002 conn->conn_ops->MaxRecvDataSegmentLength)) { in iscsit_recover_from_unknown_opcode()
1004 conn->of_marker_offset); in iscsit_recover_from_unknown_opcode()
1009 " next iSCSI Opcode.\n", conn->of_marker_offset); in iscsit_recover_from_unknown_opcode()
1011 if (iscsit_dump_data_payload(conn, conn->of_marker_offset, 0) < 0) in iscsit_recover_from_unknown_opcode()