From cf1ba3e3835b78d4ee60984f63ee9f9421e3e8a0 Mon Sep 17 00:00:00 2001 From: Atin Mukherjee 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 upstream patch: https://review.gluster.org/#/c/glusterfs/+/21819/ Change-Id: I35dd8da084adbf59793d58557e818d8e6c17f9f3 BUG: 1656924 Signed-off-by: Sanju Rakonde Reviewed-on: https://code.engineering.redhat.com/gerrit/157960 Tested-by: RHGS Build Bot Reviewed-by: Sunil Kumar Heggodu Gopala Acharya --- 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