diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/mem-pool.c | 6 | ||||
| -rw-r--r-- | libglusterfs/src/stack.h | 4 | ||||
| -rw-r--r-- | libglusterfs/src/xlator.c | 3 | ||||
| -rw-r--r-- | libglusterfs/src/xlator.h | 3 | 
4 files changed, 11 insertions, 5 deletions
diff --git a/libglusterfs/src/mem-pool.c b/libglusterfs/src/mem-pool.c index f94723ba352..2662dc70ab5 100644 --- a/libglusterfs/src/mem-pool.c +++ b/libglusterfs/src/mem-pool.c @@ -385,7 +385,7 @@ mem_get0 (struct mem_pool *mem_pool)          void             *ptr = NULL;          if (!mem_pool) { -                gf_log ("mem-pool", GF_LOG_ERROR, "invalid argument"); +                gf_log_callingfn ("mem-pool", GF_LOG_ERROR, "invalid argument");                  return NULL;          } @@ -406,7 +406,7 @@ mem_get (struct mem_pool *mem_pool)          struct mem_pool **pool_ptr = NULL;          if (!mem_pool) { -                gf_log ("mem-pool", GF_LOG_ERROR, "invalid argument"); +                gf_log_callingfn ("mem-pool", GF_LOG_ERROR, "invalid argument");                  return NULL;          } @@ -500,7 +500,7 @@ mem_put (void *ptr)          struct mem_pool *pool = NULL;          if (!ptr) { -                gf_log ("mem-pool", GF_LOG_ERROR, "invalid argument"); +                gf_log_callingfn ("mem-pool", GF_LOG_ERROR, "invalid argument");                  return;          } diff --git a/libglusterfs/src/stack.h b/libglusterfs/src/stack.h index c8404057610..220eab49d0e 100644 --- a/libglusterfs/src/stack.h +++ b/libglusterfs/src/stack.h @@ -155,7 +155,7 @@ FRAME_DESTROY (call_frame_t *frame)          mem_put (frame);          if (local) -                GF_FREE (local); +                mem_put (local);  } @@ -184,7 +184,7 @@ STACK_DESTROY (call_stack_t *stack)          mem_put (stack);          if (local) -                GF_FREE (local); +                mem_put (local);  } diff --git a/libglusterfs/src/xlator.c b/libglusterfs/src/xlator.c index 01475f5a1c3..ec20029591e 100644 --- a/libglusterfs/src/xlator.c +++ b/libglusterfs/src/xlator.c @@ -430,6 +430,9 @@ xlator_fini_rec (xlator_t *xl)                          xl->fini (xl); +                        if (xl->local_pool) +                                mem_pool_destroy (xl->local_pool); +                          THIS = old_THIS;                  } else {                          gf_log (xl->name, GF_LOG_DEBUG, "No fini() found"); diff --git a/libglusterfs/src/xlator.h b/libglusterfs/src/xlator.h index 9767ad04391..c0b56a7b0c2 100644 --- a/libglusterfs/src/xlator.h +++ b/libglusterfs/src/xlator.h @@ -830,6 +830,9 @@ struct _xlator {          struct mem_acct     mem_acct;          uint64_t            winds;          char                switched; + +        /* for the memory pool of 'frame->local' */ +        struct mem_pool    *local_pool;  };  #define xlator_has_parent(xl) (xl->parents != NULL)  | 
