summaryrefslogtreecommitdiffstats
path: root/libglusterfs
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs')
-rw-r--r--libglusterfs/src/glusterfs.h2
-rw-r--r--libglusterfs/src/mem-pool.c27
2 files changed, 18 insertions, 11 deletions
diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h
index 0d4240a2a6e..a3adf151b19 100644
--- a/libglusterfs/src/glusterfs.h
+++ b/libglusterfs/src/glusterfs.h
@@ -376,6 +376,8 @@ struct _glusterfs_ctx {
struct mem_pool *dict_pair_pool;
struct mem_pool *dict_data_pool;
+ int mem_accounting; /* if value is other than 0, it
+ will be set */
};
typedef struct _glusterfs_ctx glusterfs_ctx_t;
diff --git a/libglusterfs/src/mem-pool.c b/libglusterfs/src/mem-pool.c
index 0cfd8bd712a..7f20d6d4b36 100644
--- a/libglusterfs/src/mem-pool.c
+++ b/libglusterfs/src/mem-pool.c
@@ -50,26 +50,31 @@ gf_mem_acct_is_enabled ()
void
gf_mem_acct_enable_set ()
{
- char *opt = NULL;
- long val = -1;
-
#ifdef DEBUG
gf_mem_acct_enable = 1;
return;
#endif
+ glusterfs_ctx_t *ctx = NULL;
+ char *opt = NULL;
+ long val = -1;
- opt = getenv (GLUSTERFS_ENV_MEM_ACCT_STR);
-
- if (!opt)
- return;
+ gf_mem_acct_enable = 0;
- val = strtol (opt, NULL, 0);
+ ctx = glusterfs_ctx_get ();
- if (val)
- gf_mem_acct_enable = 0;
- else
+ if (ctx->mem_accounting) {
gf_mem_acct_enable = 1;
+ return;
+ }
+ opt = getenv (GLUSTERFS_ENV_MEM_ACCT_STR);
+ if (opt) {
+ val = strtol (opt, NULL, 0);
+ if (val)
+ gf_mem_acct_enable = 1;
+ }
+
+ return;
}
void