diff options
| author | Mohit Agrawal <moagrawa@redhat.com> | 2018-05-23 09:10:11 +0530 |
|---|---|---|
| committer | Shyamsundar Ranganathan <srangana@redhat.com> | 2018-05-25 02:05:37 +0000 |
| commit | b679fd4b73d9ec039029088769722887b61d750a (patch) | |
| tree | 1fba7b4d16dea3ffa8808475d5d5cb44a3256bd1 /xlators/features/bit-rot/src/stub | |
| parent | 7b95d5a4b3988757bf8c91f82dcaf86ed3da6875 (diff) | |
Revert "glusterfsd: Memleak in glusterfsd process while brick mux is on"
Updates: bz#1582286
This reverts commit 7c3cc485054e4ede1efb358552135b432fb7047a.
Change-Id: I831d646112bcfa13d0c2153482ad00ff1b23aa6c
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); |
