summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/inode.h
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2011-01-18 14:49:08 +0000
committerSteven Whitehouse <swhiteho@redhat.com>2011-01-18 14:49:08 +0000
commit24d9765fc18c7838ccdbb0d71fb706321d9b824c (patch)
tree75875b69c1bb694d2ad5e1ab19f278bf7d3a8acc /fs/gfs2/inode.h
parent23c3010808de86f21436eb822aacfa551bfc17e4 (diff)
downloadlinux-24d9765fc18c7838ccdbb0d71fb706321d9b824c.tar.gz
linux-24d9765fc18c7838ccdbb0d71fb706321d9b824c.tar.bz2
linux-24d9765fc18c7838ccdbb0d71fb706321d9b824c.zip
GFS2: Fix error path in gfs2_lookup_by_inum()
In the (impossible, except if there is fs corruption) error path in gfs2_lookup_by_inum() if the call to gfs2_inode_refresh() fails, it was leaving the function by calling iput() rather than iget_failed(). This would cause future lookups of the same inode to block forever. This patch fixes the problem by moving the call to gfs2_inode_refresh() into gfs2_inode_lookup() where iget_failed() is part of the error path already. Also this cleans up some unreachable code and makes gfs2_set_iop() static. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/inode.h')
-rw-r--r--fs/gfs2/inode.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/gfs2/inode.h b/fs/gfs2/inode.h
index 732a183efdb3..3e00a66e7cbd 100644
--- a/fs/gfs2/inode.h
+++ b/fs/gfs2/inode.h
@@ -96,7 +96,6 @@ err:
return -EIO;
}
-extern void gfs2_set_iop(struct inode *inode);
extern struct inode *gfs2_inode_lookup(struct super_block *sb, unsigned type,
u64 no_addr, u64 no_formal_ino);
extern struct inode *gfs2_lookup_by_inum(struct gfs2_sbd *sdp, u64 no_addr,