diff options
author | Mohit Agrawal <moagrawa@redhat.com> | 2018-02-18 08:14:35 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-02-19 19:30:56 +0000 |
commit | e3e7cdbde5463ff6d20af52329a784ca629c6aef (patch) | |
tree | 43887efd6a9c624ac204ad6bba6065baba2ab1cf /xlators/features/bit-rot/src/stub | |
parent | 8d9961e63786cf8a9bb9e2f4140ab9a77f1ccbe3 (diff) |
Revert "glusterfsd: Memleak in glusterfsd process while brick mux is on"
There are still remain some code paths where cleanup is required while
brick mux is on.I will upload a new patch after resolve all code paths.
This reverts commit b313d97faa766443a7f8128b6e19f3d2f1b267dd.
BUG: 1544090
Change-Id: I26ef1d29061092bd9a409c8933d5488e968ed90e
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
Diffstat (limited to 'xlators/features/bit-rot/src/stub')
-rw-r--r-- | xlators/features/bit-rot/src/stub/bit-rot-stub.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/xlators/features/bit-rot/src/stub/bit-rot-stub.c b/xlators/features/bit-rot/src/stub/bit-rot-stub.c index 830357070d6..76a4c3f6962 100644 --- a/xlators/features/bit-rot/src/stub/bit-rot-stub.c +++ b/xlators/features/bit-rot/src/stub/bit-rot-stub.c @@ -229,6 +229,18 @@ notify (xlator_t *this, int event, void *data, ...) if (!priv) return 0; + switch (event) { + case GF_EVENT_CLEANUP: + if (priv->signth) { + (void) gf_thread_cleanup_xint (priv->signth); + priv->signth = 0; + } + if (priv->container.thread) { + (void) gf_thread_cleanup_xint (priv->container.thread); + priv->container.thread = 0; + } + break; + } default_notify (this, event, data); return 0; } @@ -251,7 +263,6 @@ fini (xlator_t *this) "Could not cancel sign serializer thread"); goto out; } - priv->signth = 0; while (!list_empty (&priv->squeue)) { sigstub = list_first_entry (&priv->squeue, @@ -273,19 +284,12 @@ fini (xlator_t *this) goto out; } - priv->container.thread = 0; - while (!list_empty (&priv->container.bad_queue)) { stub = list_first_entry (&priv->container.bad_queue, call_stub_t, list); list_del_init (&stub->list); call_stub_destroy (stub); - } - - if (priv->local_pool) { - mem_pool_destroy (priv->local_pool); - priv->local_pool = NULL; - } + }; pthread_mutex_destroy (&priv->container.bad_lock); pthread_cond_destroy (&priv->container.bad_cond); |