summaryrefslogtreecommitdiffstats
path: root/xlators/mount/fuse/src/fuse-resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/mount/fuse/src/fuse-resolve.c')
-rw-r--r--xlators/mount/fuse/src/fuse-resolve.c5
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)) {