From 7161d0995c937c1712d29a04356a11ca51e9ce07 Mon Sep 17 00:00:00 2001 From: Raghavendra G Date: Wed, 14 Dec 2011 15:47:01 +0530 Subject: performance/quick-read: implement fini Change-Id: I92d4e7ded470b0e97b699656a890bab8c113bf4f BUG: 767862 Signed-off-by: Raghavendra G Reviewed-on: http://review.gluster.com/790 Tested-by: Gluster Build System Reviewed-by: Amar Tumballi Reviewed-by: Vijay Bellur --- xlators/performance/quick-read/src/quick-read.c | 51 +++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'xlators/performance/quick-read') diff --git a/xlators/performance/quick-read/src/quick-read.c b/xlators/performance/quick-read/src/quick-read.c index 1d682b62d..56f665f67 100644 --- a/xlators/performance/quick-read/src/quick-read.c +++ b/xlators/performance/quick-read/src/quick-read.c @@ -3574,9 +3574,60 @@ out: } +void +qr_inode_table_destroy (qr_private_t *priv) +{ + int i = 0; + qr_conf_t *conf = NULL; + + conf = &priv->conf; + + for (i = 0; i < conf->max_pri; i++) { + GF_ASSERT (list_empty (&priv->table.lru[i])); + } + + LOCK_DESTROY (&priv->table.lock); + + return; +} + + +void +qr_conf_destroy (qr_conf_t *conf) +{ + struct qr_priority *curr = NULL, *tmp = NULL; + + list_for_each_entry_safe (curr, tmp, &conf->priority_list, list) { + list_del (&curr->list); + GF_FREE (curr->pattern); + GF_FREE (curr); + } + + return; +} + + void fini (xlator_t *this) { + qr_private_t *priv = NULL; + + if (this == NULL) { + goto out; + } + + priv = this->private; + if (priv == NULL) { + goto out; + } + + qr_inode_table_destroy (priv); + qr_conf_destroy (&priv->conf); + + this->private = NULL; + + GF_FREE (priv); +out: return; } -- cgit