• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/rds/

Lines Matching defs:conn

73 void rds_connect_complete(struct rds_connection *conn)
75 if (!rds_conn_transition(conn, RDS_CONN_CONNECTING, RDS_CONN_UP)) {
79 atomic_read(&conn->c_state));
80 atomic_set(&conn->c_state, RDS_CONN_ERROR);
81 queue_work(rds_wq, &conn->c_down_w);
85 rdsdebug("conn %p for %pI4 to %pI4 complete\n",
86 conn, &conn->c_laddr, &conn->c_faddr);
88 conn->c_reconnect_jiffies = 0;
89 set_bit(0, &conn->c_map_queued);
90 queue_delayed_work(rds_wq, &conn->c_send_w, 0);
91 queue_delayed_work(rds_wq, &conn->c_recv_w, 0);
113 static void rds_queue_reconnect(struct rds_connection *conn)
117 rdsdebug("conn %p for %pI4 to %pI4 reconnect jiffies %lu\n",
118 conn, &conn->c_laddr, &conn->c_faddr,
119 conn->c_reconnect_jiffies);
121 set_bit(RDS_RECONNECT_PENDING, &conn->c_flags);
122 if (conn->c_reconnect_jiffies == 0) {
123 conn->c_reconnect_jiffies = rds_sysctl_reconnect_min_jiffies;
124 queue_delayed_work(rds_wq, &conn->c_conn_w, 0);
129 rdsdebug("%lu delay %lu ceil conn %p for %pI4 -> %pI4\n",
130 rand % conn->c_reconnect_jiffies, conn->c_reconnect_jiffies,
131 conn, &conn->c_laddr, &conn->c_faddr);
132 queue_delayed_work(rds_wq, &conn->c_conn_w,
133 rand % conn->c_reconnect_jiffies);
135 conn->c_reconnect_jiffies = min(conn->c_reconnect_jiffies * 2,
141 struct rds_connection *conn = container_of(work, struct rds_connection, c_conn_w.work);
144 clear_bit(RDS_RECONNECT_PENDING, &conn->c_flags);
145 if (rds_conn_transition(conn, RDS_CONN_DOWN, RDS_CONN_CONNECTING)) {
146 ret = conn->c_trans->conn_connect(conn);
147 rdsdebug("conn %p for %pI4 to %pI4 dispatched, ret %d\n",
148 conn, &conn->c_laddr, &conn->c_faddr, ret);
151 if (rds_conn_transition(conn, RDS_CONN_CONNECTING, RDS_CONN_DOWN))
152 rds_queue_reconnect(conn);
154 rds_conn_error(conn, "RDS: connect failed\n");
161 struct rds_connection *conn = container_of(work, struct rds_connection, c_down_w);
164 if (!rds_conn_transition(conn, RDS_CONN_DOWN, RDS_CONN_DOWN)) {
172 mutex_lock(&conn->c_cm_lock);
173 if (!rds_conn_transition(conn, RDS_CONN_UP, RDS_CONN_DISCONNECTING) &&
174 !rds_conn_transition(conn, RDS_CONN_ERROR, RDS_CONN_DISCONNECTING)) {
175 rds_conn_error(conn, "shutdown called in state %d\n",
176 atomic_read(&conn->c_state));
177 mutex_unlock(&conn->c_cm_lock);
180 mutex_unlock(&conn->c_cm_lock);
182 mutex_lock(&conn->c_send_lock);
183 conn->c_trans->conn_shutdown(conn);
184 rds_conn_reset(conn);
185 mutex_unlock(&conn->c_send_lock);
187 if (!rds_conn_transition(conn, RDS_CONN_DISCONNECTING, RDS_CONN_DOWN)) {
193 rds_conn_error(conn,
197 atomic_read(&conn->c_state));
204 * to the conn hash, so we never trigger a reconnect on this
205 * conn - the reconnect is always triggered by the active peer. */
206 cancel_delayed_work(&conn->c_conn_w);
207 if (!hlist_unhashed(&conn->c_hash_node))
208 rds_queue_reconnect(conn);
213 struct rds_connection *conn = container_of(work, struct rds_connection, c_send_w.work);
216 if (rds_conn_state(conn) == RDS_CONN_UP) {
217 ret = rds_send_xmit(conn);
218 rdsdebug("conn %p ret %d\n", conn, ret);
222 queue_delayed_work(rds_wq, &conn->c_send_w, 0);
226 queue_delayed_work(rds_wq, &conn->c_send_w, 2);
235 struct rds_connection *conn = container_of(work, struct rds_connection, c_recv_w.work);
238 if (rds_conn_state(conn) == RDS_CONN_UP) {
239 ret = conn->c_trans->recv(conn);
240 rdsdebug("conn %p ret %d\n", conn, ret);
244 queue_delayed_work(rds_wq, &conn->c_recv_w, 0);
248 queue_delayed_work(rds_wq, &conn->c_recv_w, 2);