diff options
Diffstat (limited to 'libglusterfs')
| -rw-r--r-- | libglusterfs/src/xlator.c | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 00f411e275b..5b6a4b52e33 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -557,6 +557,25 @@ xlator_list_destroy (xlator_list_t *list)  }  static int +xlator_memrec_free (xlator_t *xl) +{ +        uint32_t i = 0; + +        if (!xl) +                return 0; + +        if (xl->mem_acct.rec) { +                for (i = 0; i < xl->mem_acct.num_types; i++) { +                        LOCK_DESTROY (&(xl->mem_acct.rec[i].lock)); +                } +                FREE (xl->mem_acct.rec); +                xl->mem_acct.rec = NULL; +        } + +        return 0; +} + +static int  xlator_members_free (xlator_t *xl)  {          volume_opt_list_t *vol_opt = NULL; @@ -912,6 +931,7 @@ xlator_destroy (xlator_t *xl)                  return 0;          xlator_members_free (xl); +        xlator_memrec_free (xl);          GF_FREE (xl);          return 0;  | 
