Performance: Replace ASSERTS in xlator fini() with info messages, for the known leaks.

There are few known leaks in read-ahead and quick-read xlator fini().
Until they are fixed replacing the ASSERTS with info, else any call
to glfs_fini() in debug mode will core dump.

Change-Id: Id60c6f952574863fc77c7d101cb5d5e9113090d8
BUG: 1199436
Signed-off-by: Poornima G <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/9819
Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Tested-by: Raghavendra G <rgowdapp@redhat.com>
This commit is contained in:
Poornima G 2015-03-06 15:16:35 +05:30 committed by Raghavendra G
parent 1ae8b4c33a
commit b832e35493
2 changed files with 15 additions and 1 deletions

View File

@ -1049,7 +1049,13 @@ qr_inode_table_destroy (qr_private_t *priv)
conf = &priv->conf;
for (i = 0; i < conf->max_pri; i++) {
GF_ASSERT (list_empty (&priv->table.lru[i]));
/* There is a known leak of inodes, hence until
* that is fixed, log the assert as warning.
GF_ASSERT (list_empty (&priv->table.lru[i]));*/
if (!list_empty (&priv->table.lru[i])) {
gf_log ("quick-read", GF_LOG_INFO,
"quick read inode table lru not empty");
}
}
LOCK_DESTROY (&priv->table.lock);

View File

@ -1204,8 +1204,16 @@ fini (xlator_t *this)
this->private = NULL;
/* The files structures allocated in open and create are not deleted.
* until that is freed, marking the below assert as warning.
GF_ASSERT ((conf->files.next == &conf->files)
&& (conf->files.prev == &conf->files));
*/
if (!((conf->files.next == &conf->files)
&& (conf->files.prev == &conf->files))) {
gf_log (this->name, GF_LOG_INFO,
"undestroyed read ahead file structures found");
}
pthread_mutex_destroy (&conf->conf_lock);
GF_FREE (conf);