diff options
Diffstat (limited to 'libglusterfs')
-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) |