From bfe689d25ecde567a90135b47f31b89d7714aaf4 Mon Sep 17 00:00:00 2001 From: Avra Sengupta Date: Wed, 10 Feb 2016 15:02:48 +0530 Subject: glusterd/snapshot : Remove stale pmap registry entry Perform a pmap_registry_remove on a stale registry entry from the previous run of snapd, which makes the query callback always return the older port number. Change-Id: I7fc504d2b09d32a9c945ec2c33e0e092a0d186ec BUG: 1306193 Signed-off-by: Avra Sengupta Reviewed-on: http://review.gluster.org/13420 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Rajesh Joseph --- xlators/mgmt/glusterd/src/glusterd-snapd-svc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/xlators/mgmt/glusterd/src/glusterd-snapd-svc.c b/xlators/mgmt/glusterd/src/glusterd-snapd-svc.c index 7cd6fdd6ac1..82ba7f77551 100644 --- a/xlators/mgmt/glusterd/src/glusterd-snapd-svc.c +++ b/xlators/mgmt/glusterd/src/glusterd-snapd-svc.c @@ -295,6 +295,17 @@ glusterd_snapdsvc_start (glusterd_svc_t *svc, int flags) "--brick-name", snapd_id, "-S", svc->conn.sockpath, NULL); + /* Do a pmap registry remove on the older connected port */ + if (volinfo->snapd.port) { + ret = pmap_registry_remove (this, volinfo->snapd.port, + snapd_id, GF_PMAP_PORT_BRICKSERVER, + NULL); + if (ret) { + snprintf (msg, sizeof (msg), "Failed to remove pmap " + "registry for older signin"); + goto out; + } + } snapd_port = pmap_registry_alloc (THIS); if (!snapd_port) { -- cgit