summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-quota.c
diff options
context:
space:
mode:
authorKaushal M <kaushal@redhat.com>2014-06-16 18:56:18 +0530
committerKrishnan Parthasarathi <kparthas@redhat.com>2014-06-16 19:36:18 -0700
commit84d370774cdbc6847f4f2f64a7f47abb27a7471b (patch)
treec7c7e7a7f77c2ef03aedf47f03163bcc01462666 /xlators/mgmt/glusterd/src/glusterd-quota.c
parentd3bd3319afb208acfa905696fb0be5545f5883f6 (diff)
glusterd: Use blocking quotad start only on quota enable
Having quotad always being using the blocking runner variant is problematic. In some cases where quotad was started from the epoll thread, it lead to a deadlock which lead to glusterd becoming unresponsive. This patch makes the default quotad_start function use the non-blocking runner_nowait variant. The blocking start is used only when quotad is started on quota enable command. Change-Id: Ib27042748d69ea28e68badcfaddf61589aae4eba BUG: 1109872 Signed-off-by: Kaushal M <kaushal@redhat.com> Reviewed-on: http://review.gluster.org/8082 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com> Tested-by: Krishnan Parthasarathi <kparthas@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-quota.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-quota.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c
index 3ed0196c15a..3e29a9601bc 100644
--- a/xlators/mgmt/glusterd/src/glusterd-quota.c
+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
@@ -989,7 +989,8 @@ glusterd_quotad_op (int opcode)
if (glusterd_all_volumes_with_quota_stopped ())
ret = glusterd_quotad_stop ();
else
- ret = glusterd_check_generate_start_quotad ();
+ ret = glusterd_check_generate_start_quotad_wait
+ ();
break;
default: