From be003fbb3ac7a1f1021774ecb75a4929f1ba85d4 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Thu, 15 Dec 2011 16:51:02 +0530 Subject: cluster/afr: Handle fini for afr,pump Change-Id: Idc0a05a8a25f278a7ab05e242263e0a5001bde18 Signed-off-by: Pranith Kumar K BUG: 767862 Reviewed-on: http://review.gluster.com/800 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/cluster/afr/src/afr-common.c | 41 +++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) (limited to 'xlators/cluster/afr/src/afr-common.c') diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index c00c80b9f..22b30fdfa 100644 --- a/xlators/cluster/afr/src/afr-common.c +++ b/xlators/cluster/afr/src/afr-common.c @@ -3366,11 +3366,6 @@ afr_priv_dump (xlator_t *this) gf_proc_dump_write("entry-change_log", "%d", priv->entry_change_log); gf_proc_dump_write("read_child", "%d", priv->read_child); gf_proc_dump_write("favorite_child", "%d", priv->favorite_child); - gf_proc_dump_write("data_lock_server_count", "%u", priv->data_lock_server_count); - gf_proc_dump_write("metadata_lock_server_count", "%u", - priv->metadata_lock_server_count); - gf_proc_dump_write("entry_lock_server_count", "%u", - priv->entry_lock_server_count); gf_proc_dump_write("wait_count", "%u", priv->wait_count); return 0; @@ -3893,3 +3888,39 @@ afr_have_quorum (char *logname, afr_private_t *priv) out: return _gf_false; } + +void +afr_priv_destroy (afr_private_t *priv) +{ + int i = 0; + + if (!priv) + goto out; + inode_unref (priv->root_inode); + GF_FREE (priv->shd.pos); + GF_FREE (priv->last_event); + if (priv->pending_key) { + for (i = 0; i < priv->child_count; i++) + GF_FREE (priv->pending_key[i]); + } + GF_FREE (priv->pending_key); + GF_FREE (priv->children); + GF_FREE (priv->child_up); + LOCK_DESTROY (&priv->lock); + LOCK_DESTROY (&priv->read_child_lock); + pthread_mutex_destroy (&priv->mutex); + GF_FREE (priv); +out: + return; +} + +int +xlator_subvolume_count (xlator_t *this) +{ + int i = 0; + xlator_list_t *list = NULL; + + for (list = this->children; list; list = list->next) + i++; + return i; +} -- cgit