Lines Matching refs:conn
74 void rds_connect_complete(struct rds_connection *conn) in rds_connect_complete() argument
76 if (!rds_conn_transition(conn, RDS_CONN_CONNECTING, RDS_CONN_UP)) { in rds_connect_complete()
80 atomic_read(&conn->c_state)); in rds_connect_complete()
81 rds_conn_drop(conn); in rds_connect_complete()
86 conn, &conn->c_laddr, &conn->c_faddr); in rds_connect_complete()
88 conn->c_reconnect_jiffies = 0; in rds_connect_complete()
89 set_bit(0, &conn->c_map_queued); in rds_connect_complete()
90 queue_delayed_work(rds_wq, &conn->c_send_w, 0); in rds_connect_complete()
91 queue_delayed_work(rds_wq, &conn->c_recv_w, 0); in rds_connect_complete()
113 void rds_queue_reconnect(struct rds_connection *conn) in rds_queue_reconnect() argument
118 conn, &conn->c_laddr, &conn->c_faddr, in rds_queue_reconnect()
119 conn->c_reconnect_jiffies); in rds_queue_reconnect()
121 set_bit(RDS_RECONNECT_PENDING, &conn->c_flags); in rds_queue_reconnect()
122 if (conn->c_reconnect_jiffies == 0) { in rds_queue_reconnect()
123 conn->c_reconnect_jiffies = rds_sysctl_reconnect_min_jiffies; in rds_queue_reconnect()
124 queue_delayed_work(rds_wq, &conn->c_conn_w, 0); in rds_queue_reconnect()
130 rand % conn->c_reconnect_jiffies, conn->c_reconnect_jiffies, in rds_queue_reconnect()
131 conn, &conn->c_laddr, &conn->c_faddr); in rds_queue_reconnect()
132 queue_delayed_work(rds_wq, &conn->c_conn_w, in rds_queue_reconnect()
133 rand % conn->c_reconnect_jiffies); in rds_queue_reconnect()
135 conn->c_reconnect_jiffies = min(conn->c_reconnect_jiffies * 2, in rds_queue_reconnect()
141 struct rds_connection *conn = container_of(work, struct rds_connection, c_conn_w.work); in rds_connect_worker() local
144 clear_bit(RDS_RECONNECT_PENDING, &conn->c_flags); in rds_connect_worker()
145 if (rds_conn_transition(conn, RDS_CONN_DOWN, RDS_CONN_CONNECTING)) { in rds_connect_worker()
146 ret = conn->c_trans->conn_connect(conn); in rds_connect_worker()
148 conn, &conn->c_laddr, &conn->c_faddr, ret); in rds_connect_worker()
151 if (rds_conn_transition(conn, RDS_CONN_CONNECTING, RDS_CONN_DOWN)) in rds_connect_worker()
152 rds_queue_reconnect(conn); in rds_connect_worker()
154 rds_conn_error(conn, "RDS: connect failed\n"); in rds_connect_worker()
161 struct rds_connection *conn = container_of(work, struct rds_connection, c_send_w.work); in rds_send_worker() local
164 if (rds_conn_state(conn) == RDS_CONN_UP) { in rds_send_worker()
165 ret = rds_send_xmit(conn); in rds_send_worker()
166 rdsdebug("conn %p ret %d\n", conn, ret); in rds_send_worker()
170 queue_delayed_work(rds_wq, &conn->c_send_w, 0); in rds_send_worker()
174 queue_delayed_work(rds_wq, &conn->c_send_w, 2); in rds_send_worker()
183 struct rds_connection *conn = container_of(work, struct rds_connection, c_recv_w.work); in rds_recv_worker() local
186 if (rds_conn_state(conn) == RDS_CONN_UP) { in rds_recv_worker()
187 ret = conn->c_trans->recv(conn); in rds_recv_worker()
188 rdsdebug("conn %p ret %d\n", conn, ret); in rds_recv_worker()
192 queue_delayed_work(rds_wq, &conn->c_recv_w, 0); in rds_recv_worker()
196 queue_delayed_work(rds_wq, &conn->c_recv_w, 2); in rds_recv_worker()
205 struct rds_connection *conn = container_of(work, struct rds_connection, c_down_w); in rds_shutdown_worker() local
207 rds_conn_shutdown(conn); in rds_shutdown_worker()