• Home
  • Raw
  • Download

Lines Matching +full:retain +full:- +full:state +full:- +full:shutdown

14  *      - Redistributions of source code must retain the above
18 * - Redistributions in binary form must reproduce the above
56 * ANY -> ERROR
57 * UP -> DISCONNECTING
58 * ERROR -> DISCONNECTING
59 * DISCONNECTING -> DOWN
60 * DOWN -> CONNECTING
61 * CONNECTING -> UP
63 * Transition to state DISCONNECTING/DOWN:
64 * - Inside the shutdown worker; synchronizes with xmit path
77 printk(KERN_WARNING "%s: Cannot transition to state UP, " in rds_connect_path_complete()
78 "current state is %d\n", in rds_connect_path_complete()
80 atomic_read(&cp->cp_state)); in rds_connect_path_complete()
86 cp->cp_conn, &cp->cp_conn->c_laddr, &cp->cp_conn->c_faddr); in rds_connect_path_complete()
88 cp->cp_reconnect_jiffies = 0; in rds_connect_path_complete()
89 set_bit(0, &cp->cp_conn->c_map_queued); in rds_connect_path_complete()
91 if (!rds_destroy_pending(cp->cp_conn)) { in rds_connect_path_complete()
92 queue_delayed_work(rds_wq, &cp->cp_send_w, 0); in rds_connect_path_complete()
93 queue_delayed_work(rds_wq, &cp->cp_recv_w, 0); in rds_connect_path_complete()
101 rds_connect_path_complete(&conn->c_path[0], RDS_CONN_CONNECTING); in rds_connect_complete()
121 * will always take several iterations to be re-established.
126 struct rds_connection *conn = cp->cp_conn; in rds_queue_reconnect()
129 conn, &conn->c_laddr, &conn->c_faddr, in rds_queue_reconnect()
130 cp->cp_reconnect_jiffies); in rds_queue_reconnect()
133 if (conn->c_trans->t_type == RDS_TRANS_TCP && in rds_queue_reconnect()
134 rds_addr_cmp(&conn->c_laddr, &conn->c_faddr) >= 0) in rds_queue_reconnect()
137 set_bit(RDS_RECONNECT_PENDING, &cp->cp_flags); in rds_queue_reconnect()
138 if (cp->cp_reconnect_jiffies == 0) { in rds_queue_reconnect()
139 cp->cp_reconnect_jiffies = rds_sysctl_reconnect_min_jiffies; in rds_queue_reconnect()
141 if (!rds_destroy_pending(cp->cp_conn)) in rds_queue_reconnect()
142 queue_delayed_work(rds_wq, &cp->cp_conn_w, 0); in rds_queue_reconnect()
148 rdsdebug("%lu delay %lu ceil conn %p for %pI6c -> %pI6c\n", in rds_queue_reconnect()
149 rand % cp->cp_reconnect_jiffies, cp->cp_reconnect_jiffies, in rds_queue_reconnect()
150 conn, &conn->c_laddr, &conn->c_faddr); in rds_queue_reconnect()
152 if (!rds_destroy_pending(cp->cp_conn)) in rds_queue_reconnect()
153 queue_delayed_work(rds_wq, &cp->cp_conn_w, in rds_queue_reconnect()
154 rand % cp->cp_reconnect_jiffies); in rds_queue_reconnect()
157 cp->cp_reconnect_jiffies = min(cp->cp_reconnect_jiffies * 2, in rds_queue_reconnect()
166 struct rds_connection *conn = cp->cp_conn; in rds_connect_worker()
169 if (cp->cp_index > 0 && in rds_connect_worker()
170 rds_addr_cmp(&cp->cp_conn->c_laddr, &cp->cp_conn->c_faddr) >= 0) in rds_connect_worker()
172 clear_bit(RDS_RECONNECT_PENDING, &cp->cp_flags); in rds_connect_worker()
175 ret = conn->c_trans->conn_path_connect(cp); in rds_connect_worker()
177 conn, &conn->c_laddr, &conn->c_faddr, ret); in rds_connect_worker()
198 clear_bit(RDS_LL_SEND_FULL, &cp->cp_flags); in rds_send_worker()
201 rdsdebug("conn %p ret %d\n", cp->cp_conn, ret); in rds_send_worker()
203 case -EAGAIN: in rds_send_worker()
205 queue_delayed_work(rds_wq, &cp->cp_send_w, 0); in rds_send_worker()
207 case -ENOMEM: in rds_send_worker()
209 queue_delayed_work(rds_wq, &cp->cp_send_w, 2); in rds_send_worker()
224 ret = cp->cp_conn->c_trans->recv_path(cp); in rds_recv_worker()
225 rdsdebug("conn %p ret %d\n", cp->cp_conn, ret); in rds_recv_worker()
227 case -EAGAIN: in rds_recv_worker()
229 queue_delayed_work(rds_wq, &cp->cp_recv_w, 0); in rds_recv_worker()
231 case -ENOMEM: in rds_recv_worker()
233 queue_delayed_work(rds_wq, &cp->cp_recv_w, 2); in rds_recv_worker()
258 return -ENOMEM; in rds_threads_init()
264 * Return 1 if the first is greater. Return -1 if the second is greater.
278 return -1; in rds_addr_cmp()
285 return -1; in rds_addr_cmp()
296 if (addr1->s6_addr32[i] != addr2->s6_addr32[i]) { in rds_addr_cmp()
297 a = ntohl(addr1->s6_addr32[i]); in rds_addr_cmp()
298 b = ntohl(addr2->s6_addr32[i]); in rds_addr_cmp()
300 return -1; in rds_addr_cmp()