summaryrefslogtreecommitdiffstats
path: root/api/src/glfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'api/src/glfs.c')
-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 2f58b61852e..24660118818 100644
--- a/api/src/glfs.c
+++ b/api/src/glfs.c
@@ -617,11 +617,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;
@@ -642,6 +642,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