summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/xlator.c
diff options
context:
space:
mode:
authorMohit Agrawal <moagrawal@redhat.com>2018-11-23 09:39:43 +0530
committerAmar Tumballi <amarts@redhat.com>2018-12-13 04:46:50 +0000
commitfb917bf10b4783d5c669e81a5be1f902ca48cb84 (patch)
tree81a61c54de77f598c1c23648d5e38a3f0fff54aa /libglusterfs/src/xlator.c
parent52d3f82db2f032eae1b60ffa2f283109858ce3df (diff)
[geo-rep]: Worker still ACTIVE after killing bricks
Problem: In changelog xlator after destroying listener it call's unlink to delete changelog socket file but socket file reference is not cleaned up from process memory Solution: 1) To cleanup reference completely from process memory serialize transport cleanup for changelog and then unlink socket file 2) Brick xlator will notify GF_EVENT_PARENT_DOWN to next xlator only after cleanup all xprts Test: To test the same run below steps 1) Setup some volume and enable brick mux 2) kill anyone brick with gf_attach 3) check changelog socket for specific to killed brick in lsof, it should cleanup completely fixes: bz#1600145 Change-Id: Iba06cbf77d8a87b34a60fce50f6d8c0d427fa491 Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
Diffstat (limited to 'libglusterfs/src/xlator.c')
-rw-r--r--libglusterfs/src/xlator.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c
index b50848b3476..13213d55994 100644
--- a/libglusterfs/src/xlator.c
+++ b/libglusterfs/src/xlator.c
@@ -1036,7 +1036,7 @@ xlator_mem_free(xlator_t *xl)
static void
xlator_call_fini(xlator_t *this)
{
- if (!this || this->cleanup_starting)
+ if (!this || this->call_cleanup)
return;
this->cleanup_starting = 1;
this->call_cleanup = 1;