summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd.h
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd.h')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd.h b/xlators/mgmt/glusterd/src/glusterd.h
index 5e80bb636aa..98019f81d4c 100644
--- a/xlators/mgmt/glusterd/src/glusterd.h
+++ b/xlators/mgmt/glusterd/src/glusterd.h
@@ -20,12 +20,6 @@
#include <pthread.h>
#include <libgen.h>
-#include <urcu-bp.h>
-#include <urcu/rculist.h>
-#ifdef URCU_0_7
-#include "rculist-extra.h"
-#endif
-
#include "uuid.h"
#include "rpc-clnt.h"
@@ -45,6 +39,7 @@
#include "cli1-xdr.h"
#include "syncop.h"
#include "store.h"
+#include "glusterd-rcu.h"
#define GLUSTERD_TR_LOG_SIZE 50
#define GLUSTERD_NAME "glusterd"
@@ -629,13 +624,15 @@ typedef ssize_t (*gd_serialize_t) (struct iovec outmsg, void *args);
snprintf (key, sizeof (key), \
"glusterd.xaction_peer"); \
\
- cds_list_for_each_entry (_peerinfo, head, member) { \
+ rcu_read_lock (); \
+ cds_list_for_each_entry_rcu (_peerinfo, head, member) { \
glusterd_dump_peer (_peerinfo, key, index, xpeers); \
if (!xpeers) \
glusterd_dump_peer_rpcstat (_peerinfo, key, \
index); \
index++; \
} \
+ rcu_read_unlock (); \
\
} while (0)