summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/src/glfs.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/api/src/glfs.c b/api/src/glfs.c
index f93ebee4442..da090abaed2 100644
--- a/api/src/glfs.c
+++ b/api/src/glfs.c
@@ -594,11 +594,11 @@ glfs_init (struct glfs *fs)
int
glfs_fini (struct glfs *fs)
{
- int ret = -1;
- xlator_t *subvol = NULL;
+ int ret = -1;
+ int countdown = 100;
+ xlator_t *subvol = NULL;
glusterfs_ctx_t *ctx = NULL;
- call_pool_t *call_pool = NULL;
- int countdown = 100;
+ call_pool_t *call_pool = NULL;
ctx = fs->ctx;
@@ -619,6 +619,10 @@ glfs_fini (struct glfs *fs)
}
/* leaked frames may exist, we ignore */
+ /*We deem glfs_fini as successful if there are no pending frames in the call
+ *pool*/
+ ret = (call_pool->cnt == 0)? 0: -1;
+
subvol = glfs_active_subvol (fs);
if (subvol) {
/* PARENT_DOWN within glfs_subvol_done() is issued only