From 7370633b6404bbd3c8238b464bc413689dcccf93 Mon Sep 17 00:00:00 2001 From: Prasanna Kumar Kalever Date: Mon, 4 Apr 2016 16:15:18 +0530 Subject: rpc: assign port only if it is unreserved Current order: assign port; check for port; if reserved { port--; continue to i; } bind(); basically, we are assigning port first then checking if it is reserved Fix: get unreserved port; assign port; bind(); from now, we get unreserved port first and then assign it Change-Id: I004580c5215e7c9cae3594af6405b20fcd9fa4ad BUG: 1323659 Signed-off-by: Prasanna Kumar Kalever Reviewed-on: http://review.gluster.org/13900 Tested-by: Prasanna Kumar Kalever NetBSD-regression: NetBSD Build System Reviewed-by: Jeff Darcy CentOS-regression: Gluster Build System Reviewed-by: Raghavendra Talur Smoke: Gluster Build System Reviewed-by: Raghavendra G --- rpc/rpc-transport/rdma/src/name.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'rpc/rpc-transport/rdma/src') diff --git a/rpc/rpc-transport/rdma/src/name.c b/rpc/rpc-transport/rdma/src/name.c index 0bbbbc0bede..93b249855e1 100644 --- a/rpc/rpc-transport/rdma/src/name.c +++ b/rpc/rpc-transport/rdma/src/name.c @@ -67,12 +67,14 @@ af_inet_bind_to_port_lt_ceiling (struct rdma_cm_id *cm_id, } while (port) { - _assign_port (sockaddr, port); /* ignore the reserved ports */ if (ports[port] == _gf_true) { port--; continue; } + + _assign_port (sockaddr, port); + ret = rdma_bind_addr (cm_id, sockaddr); if (ret == 0) -- cgit