diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-peer-utils.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-peer-utils.c | 11 |
1 files changed, 5 insertions, 6 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 (); |