diff options
author | Amar Tumballi <amarts@redhat.com> | 2012-08-02 13:14:25 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-08-03 02:01:52 -0700 |
commit | ed4b76ba9c545f577287c0e70ae3cc853a0d5f3f (patch) | |
tree | deffb91a0cee620ac7fcc8c7914dbca73668574e /api | |
parent | 66205114267ec659b4ad8084c7e9497009529c61 (diff) |
core: reduce the usage of global variables
* move all the 'logging' related global variables into ctx
* make gf_fop_list a 'const' global array, hence no init(),
no edits.
* make sure ctx is allocated without any dependancy on
memory-accounting infrastructure, so it can be the first
one to get allocated
* globals_init() should happen with ctx as argument
not yet fixed below in this patchset:
* anything with 'THIS' related globals
* anything related to compat_errno related globals as its
one time init'd and not changed later on.
* statedump related globals
Change-Id: Iab8fc30d4bfdbded6741d66ff1ed670fdc7b7ad2
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 764890
Reviewed-on: http://review.gluster.com/3767
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'api')
-rw-r--r-- | api/src/glfs.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/api/src/glfs.c b/api/src/glfs.c index 01b3bc83674..6b3c2113d53 100644 --- a/api/src/glfs.c +++ b/api/src/glfs.c @@ -365,15 +365,18 @@ glfs_new (const char *volname) int ret = -1; glusterfs_ctx_t *ctx = NULL; - /* first globals init, for gf_mem_acct_enable_set () */ - ret = glusterfs_globals_init (); - if (ret) - return NULL; - ctx = glusterfs_ctx_new (); if (!ctx) { return NULL; } + + gf_mem_acct_enable_set (ctx); + + /* first globals init, for gf_mem_acct_enable_set () */ + ret = glusterfs_globals_init (ctx); + if (ret) + return NULL; + THIS->ctx = ctx; /* then ctx_defaults_init, for xlator_mem_acct_init(THIS) */ @@ -440,7 +443,7 @@ glfs_set_logging (struct glfs *fs, const char *logfile, int loglevel) { int ret = -1; - ret = gf_log_init (logfile); + ret = gf_log_init (fs->ctx, logfile); if (ret) return ret; |