diff options
author | Prashanth Pai <ppai@redhat.com> | 2017-04-27 18:26:02 +0530 |
---|---|---|
committer | Jeff Darcy <jeff@pl.atyp.us> | 2017-04-28 17:15:30 +0000 |
commit | 081f9febeec61787ebe81850a081beda17de3047 (patch) | |
tree | a9d7aadb409b88b5ea1b39e7ca1fd9568c53d984 /rpc | |
parent | 83abcba6b42f94eb5a6495a634d4055362a9d79d (diff) |
glusterd: Fix removing pmap entry on rpc disconnect
Problem:
The following line of code intended to remove pmap entry for the
connection during disconnects:
pmap_registry_remove (this, 0, NULL, GF_PMAP_PORT_NONE, xprt);
However, no pmap entry will have it's type set to GF_PMAP_PORT_NONE
at any point in time. So a call to pmap_registry_search_by_xprt() in
pmap_registry_remove() will always fail to find a match.
Fix:
Optionally ignore pmap entry's type in pmap_registry_search_by_xprt().
BUG: 1193929
Change-Id: I705f101739ab1647ff52a92820d478354407264a
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Reviewed-on: https://review.gluster.org/17129
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
Diffstat (limited to 'rpc')
-rw-r--r-- | rpc/rpc-lib/src/protocol-common.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rpc/rpc-lib/src/protocol-common.h b/rpc/rpc-lib/src/protocol-common.h index b5f5bdee50e..ee98f3d4959 100644 --- a/rpc/rpc-lib/src/protocol-common.h +++ b/rpc/rpc-lib/src/protocol-common.h @@ -106,7 +106,7 @@ enum gf_pmap_port_type { GF_PMAP_PORT_FREE = 0, GF_PMAP_PORT_FOREIGN, /* it actually means, not sure who is using it, but it is in-use */ GF_PMAP_PORT_LEASED, - GF_PMAP_PORT_NONE, + GF_PMAP_PORT_ANY, GF_PMAP_PORT_BRICKSERVER, /* port used by brick process */ }; typedef enum gf_pmap_port_type gf_pmap_port_type_t; |