From 27fb213be6101bca859502ac87dddc4cd0a6f272 Mon Sep 17 00:00:00 2001 From: Raghavendra G Date: Mon, 26 Mar 2012 18:44:14 +0530 Subject: fuse-resolve: consider cases where an entry should be resolved even when parent belongs to active itable. When parent is root, the parent inode returned will always be active_subvol->itable->root and hence there can be cases where we should explicitly resolve the entry in active graph. Change-Id: I4e82df9a351ff6b5304891abc9932495bf7ea79d BUG: 804592 Signed-off-by: Raghavendra G Reviewed-on: http://review.gluster.com/3007 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- xlators/mount/fuse/src/fuse-resolve.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xlators/mount/fuse/src/fuse-resolve.c b/xlators/mount/fuse/src/fuse-resolve.c index b1eff83dc..5df0ac4b8 100644 --- a/xlators/mount/fuse/src/fuse-resolve.c +++ b/xlators/mount/fuse/src/fuse-resolve.c @@ -237,6 +237,12 @@ fuse_resolve_parent_simple (fuse_state_t *state) /* no graph switches since */ loc->parent = inode_ref (parent); loc->inode = inode_grep (state->itable, parent, loc->name); + + if (loc->inode == NULL) { + /* non decisive result - entry missing */ + return -1; + } + /* decisive result - resolution success */ return 0; } -- cgit