Lines Matching defs:conn

41 	struct iscsi_conn *conn = cmd->conn;
50 conn->sess->sess_ops->FirstBurstLength) ?
51 conn->sess->sess_ops->FirstBurstLength : cmd->se_cmd.data_length));
55 if (!conn->sess->sess_ops->DataSequenceInOrder)
61 conn->sess->sess_ops->MaxBurstLength) ?
63 conn->sess->sess_ops->MaxBurstLength) : cmd->se_cmd.data_length;
67 conn->sess->sess_ops->MaxBurstLength) >=
70 conn->sess->sess_ops->MaxBurstLength);
78 struct iscsi_conn *conn = cmd->conn;
94 if (conn->sess->sess_ops->DataSequenceInOrder) {
112 if (conn->sess->sess_ops->DataPDUInOrder) {
137 return iscsit_dump_data_payload(conn, payload_length, 1);
145 struct iscsi_conn *conn = cmd->conn;
162 if (first_burst_len > conn->sess->sess_ops->FirstBurstLength) {
165 first_burst_len, conn->sess->sess_ops->FirstBurstLength);
181 if (!conn->sess->sess_ops->DataPDUInOrder)
185 (first_burst_len != conn->sess->sess_ops->FirstBurstLength)) {
189 conn->sess->sess_ops->FirstBurstLength,
196 if (first_burst_len == conn->sess->sess_ops->FirstBurstLength) {
200 conn->sess->sess_ops->FirstBurstLength);
220 struct iscsi_conn *conn = cmd->conn;
232 if (conn->sess->sess_ops->DataSequenceInOrder) {
246 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0)
263 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0)
271 if (next_burst_len > conn->sess->sess_ops->MaxBurstLength) {
276 payload_length, conn->sess->sess_ops->MaxBurstLength);
290 if (!conn->sess->sess_ops->DataPDUInOrder)
293 if (conn->sess->sess_ops->DataSequenceInOrder) {
295 conn->sess->sess_ops->MaxBurstLength) &&
312 if (conn->sess->sess_ops->DataSequenceInOrder) {
314 conn->sess->sess_ops->MaxBurstLength) {
318 conn->sess->sess_ops->MaxBurstLength);
349 struct iscsi_conn *conn = cmd->conn;
361 if (conn->sess->sess_ops->DataSequenceInOrder)
383 if (!conn->sess->sess_ops->ErrorRecoveryLevel) {
389 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0)
400 struct iscsi_conn *conn = cmd->conn;
413 if (conn->sess->sess_ops->DataSequenceInOrder) {
443 if (!conn->sess->sess_ops->ErrorRecoveryLevel) {
449 if (iscsit_dump_data_payload(conn, payload_length, 1) < 0)
481 return iscsit_dump_data_payload(cmd->conn, payload_length, 1);
546 struct iscsi_conn *conn = cmd->conn;
553 conn->sess->sess_ops->FirstBurstLength) {
560 if (!conn->sess->sess_ops->DataPDUInOrder) {
570 if (conn->sess->sess_ops->DataSequenceInOrder)
585 if (conn->sess->sess_ops->DataSequenceInOrder) {
587 conn->sess->sess_ops->MaxBurstLength) {
595 if (!conn->sess->sess_ops->DataPDUInOrder) {
620 if (!conn->sess->sess_ops->DataPDUInOrder) {
639 if (send_r2t && conn->sess->sess_ops->DataSequenceInOrder)
656 struct iscsi_conn *conn = cmd->conn;
661 if (conn->sess->sess_ops->DataPDUInOrder)
695 struct iscsi_conn *conn = cmd->conn;
719 return (conn->sess->sess_ops->DataPDUInOrder) ?
733 struct iscsi_conn *conn = cmd->conn;
740 if (!conn->sess->sess_ops->ErrorRecoveryLevel) {
849 void iscsit_connection_reinstatement_rcfr(struct iscsi_conn *conn)
851 spin_lock_bh(&conn->state_lock);
852 if (atomic_read(&conn->connection_exit)) {
853 spin_unlock_bh(&conn->state_lock);
857 if (atomic_read(&conn->transport_failed)) {
858 spin_unlock_bh(&conn->state_lock);
861 spin_unlock_bh(&conn->state_lock);
863 iscsi_thread_set_force_reinstatement(conn);
866 wait_for_completion(&conn->conn_wait_rcfr_comp);
867 complete(&conn->conn_post_wait_comp);
870 void iscsit_cause_connection_reinstatement(struct iscsi_conn *conn, int sleep)
872 spin_lock_bh(&conn->state_lock);
873 if (atomic_read(&conn->connection_exit)) {
874 spin_unlock_bh(&conn->state_lock);
878 if (atomic_read(&conn->transport_failed)) {
879 spin_unlock_bh(&conn->state_lock);
883 if (atomic_read(&conn->connection_reinstatement)) {
884 spin_unlock_bh(&conn->state_lock);
888 if (iscsi_thread_set_force_reinstatement(conn) < 0) {
889 spin_unlock_bh(&conn->state_lock);
893 atomic_set(&conn->connection_reinstatement, 1);
895 spin_unlock_bh(&conn->state_lock);
899 atomic_set(&conn->sleep_on_conn_wait_comp, 1);
900 spin_unlock_bh(&conn->state_lock);
902 wait_for_completion(&conn->conn_wait_comp);
903 complete(&conn->conn_post_wait_comp);
915 static void iscsit_handle_connection_cleanup(struct iscsi_conn *conn)
917 struct iscsi_session *sess = conn->sess;
922 iscsit_connection_recovery_transport_reset(conn);
925 " Connection ID: %hu from %s\n", conn->cid,
927 iscsit_close_connection(conn);
931 void iscsit_take_action_for_connection_exit(struct iscsi_conn *conn)
933 spin_lock_bh(&conn->state_lock);
934 if (atomic_read(&conn->connection_exit)) {
935 spin_unlock_bh(&conn->state_lock);
938 atomic_set(&conn->connection_exit, 1);
940 if (conn->conn_state == TARG_CONN_STATE_IN_LOGOUT) {
941 spin_unlock_bh(&conn->state_lock);
942 iscsit_close_connection(conn);
946 if (conn->conn_state == TARG_CONN_STATE_CLEANUP_WAIT) {
947 spin_unlock_bh(&conn->state_lock);
952 conn->conn_state = TARG_CONN_STATE_CLEANUP_WAIT;
953 spin_unlock_bh(&conn->state_lock);
955 iscsit_handle_connection_cleanup(conn);
962 * 0) Receive conn->of_marker (bytes left until next OFMarker)
964 * of bytes in conn->of_marker, iscsit_dump_data_payload() and hence
966 * values and store it in conn->of_marker_offset;
967 * 1) Now conn->of_marker_offset will contain the offset to the start
974 int iscsit_recover_from_unknown_opcode(struct iscsi_conn *conn)
979 if (conn->of_marker > (conn->conn_ops->OFMarkInt * 4)) {
981 " OFMarkInt bytes: %u.\n", conn->of_marker,
982 conn->conn_ops->OFMarkInt * 4);
987 " next OFMarker.\n", conn->of_marker);
989 if (iscsit_dump_data_payload(conn, conn->of_marker, 0) < 0)
995 if (conn->of_marker_offset > (ISCSI_HDR_LEN + (ISCSI_CRC_LEN * 2) +
996 conn->conn_ops->MaxRecvDataSegmentLength)) {
998 conn->of_marker_offset);
1003 " next iSCSI Opcode.\n", conn->of_marker_offset);
1005 if (iscsit_dump_data_payload(conn, conn->of_marker_offset, 0) < 0)