summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-peer-utils.c11
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-sm.h3
2 files changed, 6 insertions, 8 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-peer-utils.c b/xlators/mgmt/glusterd/src/glusterd-peer-utils.c
index 49fab4cb8b9..1626cd799cc 100644
--- a/xlators/mgmt/glusterd/src/glusterd-peer-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-peer-utils.c
@@ -21,10 +21,11 @@ glusterd_peerinfo_destroy (struct rcu_head *head)
glusterd_peer_hostname_t *tmp = NULL;
/* This works as rcu_head is the first member of gd_rcu_head */
- peerinfo = caa_container_of (head, glusterd_peerinfo_t, head);
+ peerinfo = caa_container_of ((gd_rcu_head *)head, glusterd_peerinfo_t,
+ rcu_head);
/* Set THIS to the saved this. Needed by some functions below */
- THIS = peerinfo->head.this;
+ THIS = peerinfo->rcu_head.this;
CDS_INIT_LIST_HEAD (&peerinfo->uuid_list);
@@ -63,8 +64,6 @@ glusterd_peerinfo_cleanup (glusterd_peerinfo_t *peerinfo)
return 0;
}
- uatomic_set (&peerinfo->deleting, _gf_true);
-
if (peerinfo->quorum_contrib != QUORUM_NONE)
quorum_action = _gf_true;
if (peerinfo->rpc) {
@@ -74,8 +73,8 @@ glusterd_peerinfo_cleanup (glusterd_peerinfo_t *peerinfo)
cds_list_del_rcu (&peerinfo->uuid_list);
/* Saving THIS, as it is needed by the callback function */
- peerinfo->head.this = THIS;
- call_rcu (&peerinfo->head.head, glusterd_peerinfo_destroy);
+ peerinfo->rcu_head.this = THIS;
+ call_rcu (&peerinfo->rcu_head.head, glusterd_peerinfo_destroy);
if (quorum_action)
glusterd_do_quorum_action ();
diff --git a/xlators/mgmt/glusterd/src/glusterd-sm.h b/xlators/mgmt/glusterd/src/glusterd-sm.h
index e2f12038cd6..42fcaf87a32 100644
--- a/xlators/mgmt/glusterd/src/glusterd-sm.h
+++ b/xlators/mgmt/glusterd/src/glusterd-sm.h
@@ -102,9 +102,8 @@ struct glusterd_peerinfo_ {
gf_boolean_t locked;
gf_boolean_t detaching;
/* Members required for proper cleanup using RCU */
- gd_rcu_head head;
+ gd_rcu_head rcu_head;
pthread_mutex_t delete_lock;
- gf_boolean_t deleting;
};
typedef struct glusterd_peerinfo_ glusterd_peerinfo_t;