From bac02a359f86a742fbf750cf4f056160324d0746 Mon Sep 17 00:00:00 2001 From: Anand Avati Date: Thu, 27 Mar 2014 23:53:58 -0700 Subject: fuse-resolve: loc_wipe() after inode_link() the inode to be linked may have the last ref. loc_wipe() can destroy it before inode_link() gets to ref it. Change-Id: Ic2d44084e6e9c8289f35cae82c8e4575af105398 BUG: 1089216 Signed-off-by: Anand Avati Reviewed-on: http://review.gluster.org/7505 Tested-by: Gluster Build System Reviewed-by: Pranith Kumar Karampuri --- xlators/mount/fuse/src/fuse-resolve.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xlators/mount/fuse/src/fuse-resolve.c b/xlators/mount/fuse/src/fuse-resolve.c index 17d76d46b..76b1d9a72 100644 --- a/xlators/mount/fuse/src/fuse-resolve.c +++ b/xlators/mount/fuse/src/fuse-resolve.c @@ -163,10 +163,10 @@ fuse_resolve_gfid_cbk (call_frame_t *frame, void *cookie, xlator_t *this, goto out; } - loc_wipe (&resolve->resolve_loc); - link_inode = inode_link (inode, NULL, NULL, buf); + loc_wipe (&resolve->resolve_loc); + if (!link_inode) goto out; -- cgit