diff options
Diffstat (limited to 'api/src')
-rw-r--r-- | api/src/glfs.c | 12 |
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 |