summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHumble Chirammal <hchiramm@redhat.com>2014-05-09 15:30:04 +0530
committerVijay Bellur <vbellur@redhat.com>2014-11-15 10:13:06 -0800
commit656711d935000c161012c25340dbd65a59999dc3 (patch)
tree98bc3ee2dee7e96af87d6d240430f5b613179355
parent8c4ae34f8803f44f2f1e459883581a953bca42ec (diff)
mem_acct : Check return value of xlator_mem_acct_init().
some code does not check xlator_mem_acct_init() return, thus fails to capture wrong memory accounting initialization. This patch fix the same. Change-Id: I01eab19d6cef472afd850b0f964132c01523492a BUG: 1123768 Signed-off-by: Humble Chirammal <hchiramm@redhat.com> Reviewed-on: http://review.gluster.org/7728 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
-rw-r--r--api/src/glfs.c10
-rw-r--r--cli/src/cli.c6
-rw-r--r--glusterfsd/src/glusterfsd-messages.h2
-rw-r--r--glusterfsd/src/glusterfsd.c7
4 files changed, 19 insertions, 6 deletions
diff --git a/api/src/glfs.c b/api/src/glfs.c
index fc0e7c7ba91..e74329caf9d 100644
--- a/api/src/glfs.c
+++ b/api/src/glfs.c
@@ -66,11 +66,15 @@ glusterfs_ctx_defaults_init (glusterfs_ctx_t *ctx)
call_pool_t *pool = NULL;
int ret = -1;
- xlator_mem_acct_init (THIS, glfs_mt_end + 1);
-
if (!ctx) {
goto err;
- }
+ }
+ ret = xlator_mem_acct_init (THIS, glfs_mt_end + 1);
+ if (ret != 0) {
+ gf_log(THIS->name, GF_LOG_ERROR,
+ "Memory accounting init failed");
+ return ret;
+ }
ctx->process_uuid = generate_glusterfs_ctx_id ();
if (!ctx->process_uuid) {
diff --git a/cli/src/cli.c b/cli/src/cli.c
index 992f6a54321..6d9f5f6c158 100644
--- a/cli/src/cli.c
+++ b/cli/src/cli.c
@@ -97,8 +97,12 @@ glusterfs_ctx_defaults_init (glusterfs_ctx_t *ctx)
cmd_args_t *cmd_args = NULL;
struct rlimit lim = {0, };
call_pool_t *pool = NULL;
+ int ret = -1;
- xlator_mem_acct_init (THIS, cli_mt_end);
+ ret = xlator_mem_acct_init (THIS, cli_mt_end);
+ if (ret != 0) {
+ return ret;
+ }
ctx->process_uuid = generate_glusterfs_ctx_id ();
if (!ctx->process_uuid)
diff --git a/glusterfsd/src/glusterfsd-messages.h b/glusterfsd/src/glusterfsd-messages.h
index 3165c971f66..ba3b7a58735 100644
--- a/glusterfsd/src/glusterfsd-messages.h
+++ b/glusterfsd/src/glusterfsd-messages.h
@@ -107,6 +107,8 @@
#define glusterfsd_msg_33 (GLFS_COMP_BASE + 33), "obsolete option " \
"'--volfile-max-fetch-attempts or fetch-attempts' " \
"was provided"
+#define glusterfsd_msg_34 (GLFS_COMP_BASE + 34), "memory accounting init" \
+ " failed."
/*------------*/
#define glfs_msg_end_x GLFS_MSGID_END, "Invalid: End of messages"
diff --git a/glusterfsd/src/glusterfsd.c b/glusterfsd/src/glusterfsd.c
index cae869b33af..c23e83257e1 100644
--- a/glusterfsd/src/glusterfsd.c
+++ b/glusterfsd/src/glusterfsd.c
@@ -1314,8 +1314,11 @@ glusterfs_ctx_defaults_init (glusterfs_ctx_t *ctx)
struct rlimit lim = {0, };
int ret = -1;
- xlator_mem_acct_init (THIS, gfd_mt_end);
-
+ ret = xlator_mem_acct_init (THIS, gfd_mt_end);
+ if (ret != 0) {
+ gf_msg(THIS->name, GF_LOG_CRITICAL, 0, glusterfsd_msg_34);
+ return ret;
+ }
ctx->process_uuid = generate_glusterfs_ctx_id ();
if (!ctx->process_uuid) {
gf_msg ("", GF_LOG_CRITICAL, 0, glusterfsd_msg_13);