From 9f6b7acb4a139a4de2e12f966fb12976eeef3ab9 Mon Sep 17 00:00:00 2001 From: Milind Changire Date: Fri, 7 Dec 2018 06:12:28 -0500 Subject: [PATCH] autobuild v3.12.2-32 Resolves: bz#1656924 Signed-off-by: Milind Changire --- ..._mux_limit_per_process-to-read-defau.patch | 89 +++++++++++++++++++ glusterfs.spec | 6 +- 2 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 0455-glusterd-fix-get_mux_limit_per_process-to-read-defau.patch diff --git a/0455-glusterd-fix-get_mux_limit_per_process-to-read-defau.patch b/0455-glusterd-fix-get_mux_limit_per_process-to-read-defau.patch new file mode 100644 index 0000000..27b74e5 --- /dev/null +++ b/0455-glusterd-fix-get_mux_limit_per_process-to-read-defau.patch @@ -0,0 +1,89 @@ +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 + diff --git a/glusterfs.spec b/glusterfs.spec index 418455a..87d0f19 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,7 +192,7 @@ Release: 0.1%{?prereltag:.%{prereltag}}%{?dist} %else Name: glusterfs Version: 3.12.2 -Release: 31%{?dist} +Release: 32%{?dist} %endif License: GPLv2 or LGPLv3+ Group: System Environment/Base @@ -719,6 +719,7 @@ Patch0451: 0451-core-Resolve-memory-leak-at-the-time-of-graph-init.patch Patch0452: 0452-glusterd-make-max-bricks-per-process-default-value-t.patch Patch0453: 0453-server-Resolve-memory-leak-path-in-server_init.patch Patch0454: 0454-glusterd-set-cluster.max-bricks-per-process-to-250.patch +Patch0455: 0455-glusterd-fix-get_mux_limit_per_process-to-read-defau.patch %description GlusterFS is a distributed file-system capable of scaling to several @@ -2667,6 +2668,9 @@ fi %endif %changelog +* Fri Dec 07 2018 Milind Changire - 3.12.2-32 +- fixes bugs bz#1656924 + * Wed Dec 05 2018 Milind Changire - 3.12.2-31 - fixes bugs bz#1653073