From 891c7d0fad16e7f0f51af217a8aad0a653a353d7 Mon Sep 17 00:00:00 2001 From: Kaushal M Date: Tue, 24 Mar 2015 12:15:19 +0530 Subject: glusterd: Prevent possible deadlock due to glusterd_quorum_count Also rename the macro glusterd_quorum_count to GLUSTERD_QUORUM_COUNT so that it stands out as a macro. This change was developed on the git branch at [1]. This commit is a combination of the following commits on the development branch. 0fbd7ba Prevent possible deadlock due to glusterd_quorum_count 5da3062 Rename glusterd_quorum_count to GLUSTERD_QUORUM_COUNT b3aa3c4 Enclose GLUSTERD_QUORUM_COUNT definition in a do-while block [1]: https://github.com/kshlm/glusterfs/tree/urcu Change-Id: Ic4b3949f303d72ce53e0139f62b83b8d13fb4e47 BUG: 1205186 Signed-off-by: Kaushal M Reviewed-on: http://review.gluster.org/9978 Reviewed-by: Atin Mukherjee Reviewed-by: Gaurav Kumar Garg Tested-by: Gluster Build System Reviewed-by: Krishnan Parthasarathi Tested-by: Krishnan Parthasarathi --- xlators/mgmt/glusterd/src/glusterd-utils.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.h') diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.h b/xlators/mgmt/glusterd/src/glusterd-utils.h index 1956029192a..f923bfad757 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.h +++ b/xlators/mgmt/glusterd/src/glusterd-utils.h @@ -37,13 +37,14 @@ volinfo->volname, brickid);\ } while (0) -#define glusterd_quorum_count(peerinfo, inquorum_count, active_count, _exit)\ +#define GLUSTERD_QUORUM_COUNT(peerinfo, inquorum_count, active_count, _exit) do {\ if (peerinfo->quorum_contrib == QUORUM_WAITING)\ goto _exit;\ if (_is_contributing_to_quorum (peerinfo->quorum_contrib))\ inquorum_count = inquorum_count + 1;\ if (active_count && (peerinfo->quorum_contrib == QUORUM_UP))\ *active_count = *active_count + 1;\ +} while (0) struct glusterd_lock_ { uuid_t owner; -- cgit