diff options
author | Kaushal M <kaushal@redhat.com> | 2014-06-16 18:56:18 +0530 |
---|---|---|
committer | Krishnan Parthasarathi <kparthas@redhat.com> | 2014-06-16 19:36:18 -0700 |
commit | 84d370774cdbc6847f4f2f64a7f47abb27a7471b (patch) | |
tree | c7c7e7a7f77c2ef03aedf47f03163bcc01462666 /xlators/mgmt/glusterd/src/glusterd-quota.c | |
parent | d3bd3319afb208acfa905696fb0be5545f5883f6 (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.c | 3 |
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: |