From 4a5fb52eb1c5387a0fb8bfa1253e5227c7c255e8 Mon Sep 17 00:00:00 2001 From: Mohit Agrawal Date: Fri, 17 May 2019 18:10:47 +0530 Subject: glusterd: bulkvoldict thread is not handling all volumes Problem: In commit ac70f66c5805e10b3a1072bd467918730c0aeeb4 I missed one condition to populate volume dictionary in multiple threads while brick_multiplex is enabled.Due to that glusterd is not sending volume dictionary for all volumes to peer. Solution: Update the condition in code as well as update test case also to avoid the issue Change-Id: I06522dbdfee4f7e995d9cc7b7098fdf35340dc52 fixes: bz#1711250 Signed-off-by: Mohit Agrawal --- xlators/mgmt/glusterd/src/glusterd-utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index a1a45e97502..c919be3270b 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -3281,7 +3281,7 @@ glusterd_add_volumes_to_export_dict(dict_t **peer_data) if ((i + 1) != totthread) { arg->end = ((i + 1) * vol_per_thread_limit); } else { - arg->end = ((i * vol_per_thread_limit) + endindex); + arg->end = (((i + 1) * vol_per_thread_limit) + endindex); } th_ret = gf_thread_create_detached( &th_id, glusterd_add_bulk_volumes_create_thread, arg, -- cgit