Blob Blame History Raw
From cf1ba3e3835b78d4ee60984f63ee9f9421e3e8a0 Mon Sep 17 00:00:00 2001
From: Atin Mukherjee <amukherj@redhat.com>
Date: Thu, 6 Dec 2018 23:14:57 +0530
Subject: [PATCH 455/455] glusterd: fix get_mux_limit_per_process to read
 default value

get_mux_limit_per_process () reads the global option dictionary and in
case it doesn't find out a key, assumes that
cluster.max-bricks-per-process option isn't configured however the
default value should be picked up in such case.

>Change-Id: I35dd8da084adbf59793d58557e818d8e6c17f9f3
>Fixes: bz#1656951
>Signed-off-by: Atin Mukherjee <amukherj@redhat.com>

upstream patch: https://review.gluster.org/#/c/glusterfs/+/21819/

Change-Id: I35dd8da084adbf59793d58557e818d8e6c17f9f3
BUG: 1656924
Signed-off-by: Sanju Rakonde <srakonde@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/157960
Tested-by: RHGS Build Bot <nigelb@redhat.com>
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
---
 xlators/mgmt/glusterd/src/glusterd-op-sm.c      | 2 +-
 xlators/mgmt/glusterd/src/glusterd-utils.c      | 7 +------
 xlators/mgmt/glusterd/src/glusterd-volume-set.c | 2 +-
 xlators/mgmt/glusterd/src/glusterd.h            | 1 +
 4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
index f0c43f4..52a3db0 100644
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
@@ -84,7 +84,7 @@ glusterd_all_vol_opts valid_all_vol_opts[] = {
          * can be attached per process.
          * TBD: Discuss the default value for this. Maybe this should be a
          * dynamic value depending on the memory specifications per node */
-        { GLUSTERD_BRICKMUX_LIMIT_KEY,          "250"},
+        { GLUSTERD_BRICKMUX_LIMIT_KEY,    GLUSTERD_BRICKMUX_LIMIT_DFLT_VALUE},
         /*{ GLUSTERD_LOCALTIME_LOGGING_KEY,       "disable"},*/
         { GLUSTERD_DAEMON_LOG_LEVEL_KEY,        "INFO"},
         { NULL },
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index b63c95a..d789c53 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -137,12 +137,7 @@ get_mux_limit_per_process (int *mux_limit)
 
         ret = dict_get_str (priv->opts, GLUSTERD_BRICKMUX_LIMIT_KEY, &value);
         if (ret) {
-                gf_msg_debug (this->name, 0, "Limit for number of bricks per "
-                              "brick process not yet set in dict. Returning "
-                              "limit as 0 denoting that multiplexing can "
-                              "happen with no limit set.");
-                ret = 0;
-                goto out;
+                value = GLUSTERD_BRICKMUX_LIMIT_DFLT_VALUE;
         }
 
         ret = gf_string2int (value, &max_bricks_per_proc);
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
index 27d7b20..fb6a81b 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
@@ -3534,7 +3534,7 @@ struct volopt_map_entry glusterd_volopt_map[] = {
         },
         { .key         = GLUSTERD_BRICKMUX_LIMIT_KEY,
           .voltype     = "mgmt/glusterd",
-          .value       = "250",
+          .value       = GLUSTERD_BRICKMUX_LIMIT_DFLT_VALUE,
           .op_version  = GD_OP_VERSION_3_11_1,
           .validate_fn = validate_mux_limit,
           .type        = GLOBAL_DOC,
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h
index 3dfbf9c..bfa8310 100644
--- a/xlators/mgmt/glusterd/src/glusterd.h
+++ b/xlators/mgmt/glusterd/src/glusterd.h
@@ -55,6 +55,7 @@
 #define GLUSTERD_SHARED_STORAGE_KEY     "cluster.enable-shared-storage"
 #define GLUSTERD_BRICK_MULTIPLEX_KEY    "cluster.brick-multiplex"
 #define GLUSTERD_BRICKMUX_LIMIT_KEY     "cluster.max-bricks-per-process"
+#define GLUSTERD_BRICKMUX_LIMIT_DFLT_VALUE "250"
 #define GLUSTERD_LOCALTIME_LOGGING_KEY  "cluster.localtime-logging"
 #define GLUSTERD_DAEMON_LOG_LEVEL_KEY   "cluster.daemon-log-level"
 
-- 
1.8.3.1