diff options
-rw-r--r-- | xlators/mount/fuse/src/fuse-resolve.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/xlators/mount/fuse/src/fuse-resolve.c b/xlators/mount/fuse/src/fuse-resolve.c index 8ee64460401..6bde0b3c795 100644 --- a/xlators/mount/fuse/src/fuse-resolve.c +++ b/xlators/mount/fuse/src/fuse-resolve.c @@ -261,8 +261,11 @@ fuse_resolve_parent_simple (fuse_state_t *state) * have been there even though it need not have (bug #804592). */ - if (loc->inode && inode_needs_lookup (loc->inode, THIS)) + if (loc->inode && inode_needs_lookup (loc->inode, THIS)) { + inode_unref (loc->inode); + loc->inode = NULL; return -1; + } if ((loc->inode == NULL) && __is_root_gfid (parent->gfid)) { |