diff options
author | Raghavendra G <raghavendra@gluster.com> | 2011-03-12 01:08:34 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2011-03-12 05:10:29 -0800 |
commit | 5a8edf3fc4deb4713d390690b144342e24659f8c (patch) | |
tree | b2265879e0c6d5abb38eac430982deff2146127f /rpc/rpc-transport/rdma/src | |
parent | 40a5e452bea79d1c7c78af480354e16ef970ca63 (diff) |
rpc-transport/rdma: handle cases where peer is NULL in send_completion.
- There can be valid cases where peer is NULL - For eg., race b/w pollin
received on handshake socket and as a result transport getting disconnected
and handling of a send/recv completion on the same qp for some previous
read/write - in send/recv_completion_process. Hence we should be checking
for a valid peer pointer before accessing it.
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 2514 ()
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2514
Diffstat (limited to 'rpc/rpc-transport/rdma/src')
-rw-r--r-- | rpc/rpc-transport/rdma/src/rdma.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rpc/rpc-transport/rdma/src/rdma.c b/rpc/rpc-transport/rdma/src/rdma.c index 8084a86e92b..633f57db5b3 100644 --- a/rpc/rpc-transport/rdma/src/rdma.c +++ b/rpc/rpc-transport/rdma/src/rdma.c @@ -3463,7 +3463,7 @@ rdma_handle_successful_send_completion (rdma_peer_t *peer, struct ibv_wc *wc) } ret = rdma_pollin_notify (peer, post); - if (ret == -1) { + if ((ret == -1) && (peer != NULL)) { rpc_transport_disconnect (peer->trans); } |