diff options
| author | Pranith Kumar K <pranithk@gluster.com> | 2011-12-15 16:51:02 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2011-12-28 22:47:36 -0800 | 
| commit | be003fbb3ac7a1f1021774ecb75a4929f1ba85d4 (patch) | |
| tree | 099f4354f4d4fa140f607c374e295b6166db23ad /xlators/cluster/afr/src/afr-common.c | |
| parent | c8c0942d1c890fd9b74c8e2fb3897bc96f9b9b82 (diff) | |
cluster/afr: Handle fini for afr,pumpv3.3.0qa19
Change-Id: Idc0a05a8a25f278a7ab05e242263e0a5001bde18
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
BUG: 767862
Reviewed-on: http://review.gluster.com/800
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr-common.c')
| -rw-r--r-- | xlators/cluster/afr/src/afr-common.c | 41 | 
1 files changed, 36 insertions, 5 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c index c00c80b9f68..22b30fdfa2e 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; +}  | 
