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