Lines Matching refs:conn

40 	struct iscsi_conn *conn = cmd->conn;  in iscsit_set_dataout_sequence_values()  local
49 conn->sess->sess_ops->FirstBurstLength) ? in iscsit_set_dataout_sequence_values()
50 conn->sess->sess_ops->FirstBurstLength : cmd->se_cmd.data_length)); in iscsit_set_dataout_sequence_values()
54 if (!conn->sess->sess_ops->DataSequenceInOrder) in iscsit_set_dataout_sequence_values()
60 conn->sess->sess_ops->MaxBurstLength) ? in iscsit_set_dataout_sequence_values()
62 conn->sess->sess_ops->MaxBurstLength) : cmd->se_cmd.data_length; in iscsit_set_dataout_sequence_values()
66 conn->sess->sess_ops->MaxBurstLength) >= in iscsit_set_dataout_sequence_values()
69 conn->sess->sess_ops->MaxBurstLength); in iscsit_set_dataout_sequence_values()
77 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_within_command_recovery_check() local
93 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_within_command_recovery_check()
111 if (conn->sess->sess_ops->DataPDUInOrder) { in iscsit_dataout_within_command_recovery_check()
136 return iscsit_dump_data_payload(conn, payload_length, 1); in iscsit_dataout_within_command_recovery_check()
144 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_check_unsolicited_sequence() local
161 if (first_burst_len > conn->sess->sess_ops->FirstBurstLength) { in iscsit_dataout_check_unsolicited_sequence()
164 first_burst_len, conn->sess->sess_ops->FirstBurstLength); in iscsit_dataout_check_unsolicited_sequence()
180 if (!conn->sess->sess_ops->DataPDUInOrder) in iscsit_dataout_check_unsolicited_sequence()
184 (first_burst_len != conn->sess->sess_ops->FirstBurstLength)) { in iscsit_dataout_check_unsolicited_sequence()
188 conn->sess->sess_ops->FirstBurstLength, in iscsit_dataout_check_unsolicited_sequence()
195 if (first_burst_len == conn->sess->sess_ops->FirstBurstLength) { in iscsit_dataout_check_unsolicited_sequence()
199 conn->sess->sess_ops->FirstBurstLength); in iscsit_dataout_check_unsolicited_sequence()
219 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_check_sequence() local
231 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_check_sequence()
245 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) in iscsit_dataout_check_sequence()
262 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) in iscsit_dataout_check_sequence()
270 if (next_burst_len > conn->sess->sess_ops->MaxBurstLength) { in iscsit_dataout_check_sequence()
275 payload_length, conn->sess->sess_ops->MaxBurstLength); in iscsit_dataout_check_sequence()
289 if (!conn->sess->sess_ops->DataPDUInOrder) in iscsit_dataout_check_sequence()
292 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_check_sequence()
294 conn->sess->sess_ops->MaxBurstLength) && in iscsit_dataout_check_sequence()
311 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_check_sequence()
313 conn->sess->sess_ops->MaxBurstLength) { in iscsit_dataout_check_sequence()
317 conn->sess->sess_ops->MaxBurstLength); in iscsit_dataout_check_sequence()
348 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_check_datasn() local
360 if (conn->sess->sess_ops->DataSequenceInOrder) in iscsit_dataout_check_datasn()
382 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_dataout_check_datasn()
388 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) in iscsit_dataout_check_datasn()
399 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_pre_datapduinorder_yes() local
412 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_pre_datapduinorder_yes()
442 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_dataout_pre_datapduinorder_yes()
448 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0) in iscsit_dataout_pre_datapduinorder_yes()
480 return iscsit_dump_data_payload(cmd->conn, payload_length, 1); in iscsit_dataout_pre_datapduinorder_no()
545 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_post_crc_passed() local
552 conn->sess->sess_ops->FirstBurstLength) { in iscsit_dataout_post_crc_passed()
559 if (!conn->sess->sess_ops->DataPDUInOrder) { in iscsit_dataout_post_crc_passed()
569 if (conn->sess->sess_ops->DataSequenceInOrder) in iscsit_dataout_post_crc_passed()
584 if (conn->sess->sess_ops->DataSequenceInOrder) { in iscsit_dataout_post_crc_passed()
586 conn->sess->sess_ops->MaxBurstLength) { in iscsit_dataout_post_crc_passed()
594 if (!conn->sess->sess_ops->DataPDUInOrder) { in iscsit_dataout_post_crc_passed()
619 if (!conn->sess->sess_ops->DataPDUInOrder) { in iscsit_dataout_post_crc_passed()
638 if (send_r2t && conn->sess->sess_ops->DataSequenceInOrder) in iscsit_dataout_post_crc_passed()
655 struct iscsi_conn *conn = cmd->conn; in iscsit_dataout_post_crc_failed() local
660 if (conn->sess->sess_ops->DataPDUInOrder) in iscsit_dataout_post_crc_failed()
694 struct iscsi_conn *conn = cmd->conn; in iscsit_check_pre_dataout() local
718 return (conn->sess->sess_ops->DataPDUInOrder) ? in iscsit_check_pre_dataout()
732 struct iscsi_conn *conn = cmd->conn; in iscsit_check_post_dataout() local
739 if (!conn->sess->sess_ops->ErrorRecoveryLevel) { in iscsit_check_post_dataout()
848 void iscsit_connection_reinstatement_rcfr(struct iscsi_conn *conn) in iscsit_connection_reinstatement_rcfr() argument
850 spin_lock_bh(&conn->state_lock); in iscsit_connection_reinstatement_rcfr()
851 if (atomic_read(&conn->connection_exit)) { in iscsit_connection_reinstatement_rcfr()
852 spin_unlock_bh(&conn->state_lock); in iscsit_connection_reinstatement_rcfr()
856 if (atomic_read(&conn->transport_failed)) { in iscsit_connection_reinstatement_rcfr()
857 spin_unlock_bh(&conn->state_lock); in iscsit_connection_reinstatement_rcfr()
860 spin_unlock_bh(&conn->state_lock); in iscsit_connection_reinstatement_rcfr()
862 if (conn->tx_thread && conn->tx_thread_active) in iscsit_connection_reinstatement_rcfr()
863 send_sig(SIGINT, conn->tx_thread, 1); in iscsit_connection_reinstatement_rcfr()
864 if (conn->rx_thread && conn->rx_thread_active) in iscsit_connection_reinstatement_rcfr()
865 send_sig(SIGINT, conn->rx_thread, 1); in iscsit_connection_reinstatement_rcfr()
868 wait_for_completion(&conn->conn_wait_rcfr_comp); in iscsit_connection_reinstatement_rcfr()
869 complete(&conn->conn_post_wait_comp); in iscsit_connection_reinstatement_rcfr()
872 void iscsit_cause_connection_reinstatement(struct iscsi_conn *conn, int sleep) in iscsit_cause_connection_reinstatement() argument
874 spin_lock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
875 if (atomic_read(&conn->connection_exit)) { in iscsit_cause_connection_reinstatement()
876 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
880 if (atomic_read(&conn->transport_failed)) { in iscsit_cause_connection_reinstatement()
881 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
885 if (atomic_read(&conn->connection_reinstatement)) { in iscsit_cause_connection_reinstatement()
886 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
890 if (conn->tx_thread && conn->tx_thread_active) in iscsit_cause_connection_reinstatement()
891 send_sig(SIGINT, conn->tx_thread, 1); in iscsit_cause_connection_reinstatement()
892 if (conn->rx_thread && conn->rx_thread_active) in iscsit_cause_connection_reinstatement()
893 send_sig(SIGINT, conn->rx_thread, 1); in iscsit_cause_connection_reinstatement()
895 atomic_set(&conn->connection_reinstatement, 1); in iscsit_cause_connection_reinstatement()
897 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
901 atomic_set(&conn->sleep_on_conn_wait_comp, 1); in iscsit_cause_connection_reinstatement()
902 spin_unlock_bh(&conn->state_lock); in iscsit_cause_connection_reinstatement()
904 wait_for_completion(&conn->conn_wait_comp); in iscsit_cause_connection_reinstatement()
905 complete(&conn->conn_post_wait_comp); in iscsit_cause_connection_reinstatement()
917 static void iscsit_handle_connection_cleanup(struct iscsi_conn *conn) in iscsit_handle_connection_cleanup() argument
919 struct iscsi_session *sess = conn->sess; in iscsit_handle_connection_cleanup()
924 iscsit_connection_recovery_transport_reset(conn); in iscsit_handle_connection_cleanup()
927 " Connection ID: %hu from %s\n", conn->cid, in iscsit_handle_connection_cleanup()
929 iscsit_close_connection(conn); in iscsit_handle_connection_cleanup()
933 void iscsit_take_action_for_connection_exit(struct iscsi_conn *conn) in iscsit_take_action_for_connection_exit() argument
935 spin_lock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
936 if (atomic_read(&conn->connection_exit)) { in iscsit_take_action_for_connection_exit()
937 spin_unlock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
940 atomic_set(&conn->connection_exit, 1); in iscsit_take_action_for_connection_exit()
942 if (conn->conn_state == TARG_CONN_STATE_IN_LOGOUT) { in iscsit_take_action_for_connection_exit()
943 spin_unlock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
944 iscsit_close_connection(conn); in iscsit_take_action_for_connection_exit()
948 if (conn->conn_state == TARG_CONN_STATE_CLEANUP_WAIT) { in iscsit_take_action_for_connection_exit()
949 spin_unlock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
954 conn->conn_state = TARG_CONN_STATE_CLEANUP_WAIT; in iscsit_take_action_for_connection_exit()
955 spin_unlock_bh(&conn->state_lock); in iscsit_take_action_for_connection_exit()
957 iscsit_handle_connection_cleanup(conn); in iscsit_take_action_for_connection_exit()
976 int iscsit_recover_from_unknown_opcode(struct iscsi_conn *conn) in iscsit_recover_from_unknown_opcode() argument
981 if (conn->of_marker > (conn->conn_ops->OFMarkInt * 4)) { in iscsit_recover_from_unknown_opcode()
983 " OFMarkInt bytes: %u.\n", conn->of_marker, in iscsit_recover_from_unknown_opcode()
984 conn->conn_ops->OFMarkInt * 4); in iscsit_recover_from_unknown_opcode()
989 " next OFMarker.\n", conn->of_marker); in iscsit_recover_from_unknown_opcode()
991 if (iscsit_dump_data_payload(conn, conn->of_marker, 0) < 0) in iscsit_recover_from_unknown_opcode()
997 if (conn->of_marker_offset > (ISCSI_HDR_LEN + (ISCSI_CRC_LEN * 2) + in iscsit_recover_from_unknown_opcode()
998 conn->conn_ops->MaxRecvDataSegmentLength)) { in iscsit_recover_from_unknown_opcode()
1000 conn->of_marker_offset); in iscsit_recover_from_unknown_opcode()
1005 " next iSCSI Opcode.\n", conn->of_marker_offset); in iscsit_recover_from_unknown_opcode()
1007 if (iscsit_dump_data_payload(conn, conn->of_marker_offset, 0) < 0) in iscsit_recover_from_unknown_opcode()