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 /glusterfsd | |
| 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 'glusterfsd')
| -rw-r--r-- | glusterfsd/src/glusterfsd-mgmt.c | 65 | ||||
| -rw-r--r-- | glusterfsd/src/glusterfsd.c | 4 | ||||
| -rw-r--r-- | glusterfsd/src/glusterfsd.h | 3 | 
3 files changed, 2 insertions, 70 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c index 5d0c83fd1a6..355b25f8aab 100644 --- a/glusterfsd/src/glusterfsd-mgmt.c +++ b/glusterfsd/src/glusterfsd-mgmt.c @@ -193,70 +193,6 @@ glusterfs_autoscale_threads (glusterfs_ctx_t *ctx, int incr)          (void) event_reconfigure_threads (pool, pool->eventthreadcount+incr);  } -static int -xlator_mem_free (xlator_t *xl) -{ -        volume_opt_list_t *vol_opt = NULL; -        volume_opt_list_t *tmp     = NULL; - -        if (!xl) -                return 0; - -        GF_FREE (xl->name); -        GF_FREE (xl->type); -        xl->name = NULL; -        xl->type = NULL; - -        if (xl->options) { -                dict_ref (xl->options); -                dict_unref (xl->options); -                xl->options = NULL; -        } - -        list_for_each_entry_safe (vol_opt, tmp, &xl->volume_options, list) { -                list_del_init (&vol_opt->list); -                GF_FREE (vol_opt); -        } - -        return 0; -} - -void -xlator_call_fini (xlator_t *this) { -        if (!this) -                return; -        xlator_call_fini (this->next); -        this->fini (this); -} - -void -xlator_mem_cleanup (xlator_t *this) { -        xlator_list_t     *list = this->children; -        xlator_t          *trav = list->xlator; -        inode_table_t     *inode_table = NULL; -        xlator_t          *prev = trav; - -        inode_table = this->itable; - -        xlator_call_fini (trav); - -        while (prev) { -                trav = prev->next; -                xlator_mem_free (prev); -                prev = trav; -        } - -        if (inode_table) { -                inode_table_destroy (inode_table); -                this->itable = NULL; -        } -        if (this->fini) { -                this->fini (this); -                xlator_mem_free (this); -        } -} - -  int  glusterfs_handle_terminate (rpcsvc_request_t *req)  { @@ -323,7 +259,6 @@ glusterfs_handle_terminate (rpcsvc_request_t *req)                  gf_log (THIS->name, GF_LOG_INFO, "detaching not-only"                           " child %s", xlator_req.name);                  top->notify (top, GF_EVENT_CLEANUP, victim); -                xlator_mem_cleanup (victim);          }  err:          if (!lockflag) diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c index dfaf9c09c6d..added9a08c2 100644 --- a/glusterfsd/src/glusterfsd.c +++ b/glusterfsd/src/glusterfsd.c @@ -1455,13 +1455,13 @@ cleanup_and_exit (int signum)          trav = NULL;          if (ctx->active)                  trav = ctx->active->top; -        /*while (trav) { +        while (trav) {                  if (should_call_fini(ctx,trav)) {                          THIS = trav;                          trav->fini (trav);                  }                  trav = trav->next; -        }*/ +        }          /* NOTE: Only the least significant 8 bits i.e (signum & 255)             will be available to parent process on calling exit() */ diff --git a/glusterfsd/src/glusterfsd.h b/glusterfsd/src/glusterfsd.h index 420edfd3df5..9a0281e78a4 100644 --- a/glusterfsd/src/glusterfsd.h +++ b/glusterfsd/src/glusterfsd.h @@ -128,8 +128,5 @@ int glusterfs_volume_top_read_perf (uint32_t blk_size, uint32_t blk_count,  void  glusterfs_autoscale_threads (glusterfs_ctx_t *ctx, int incr); -void -xlator_mem_cleanup (xlator_t *this); -  extern glusterfs_ctx_t *glusterfsd_ctx;  #endif /* __GLUSTERFSD_H__ */  | 
