From: Steven Whitehouse Date: Thu, 1 Mar 2007 10:00:53 +0000 (+0000) Subject: [GFS2] Fix bz 229831, lookup returns wrong inode X-Git-Tag: v2.6.21-rc4~103^2~4 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1be3867955731b5cb2dc14060cc46f0882e87873;p=linux-2.6 [GFS2] Fix bz 229831, lookup returns wrong inode The following patch fixes Red Hat bz 229831. Without this patch its possible for the wrong inode to be returned in certain cases. It is a pretty unusual event, so that its taken some time to track down. Thanks and due to Josef Whiter who did a lot of the testing required to thrack this down and fix it. Signed-off-by: Steven Whitehouse --- diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 902dd81421..df0b8b3018 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -43,7 +43,8 @@ static int iget_test(struct inode *inode, void *opaque) struct gfs2_inode *ip = GFS2_I(inode); struct gfs2_inum_host *inum = opaque; - if (ip->i_num.no_addr == inum->no_addr) + if (ip->i_num.no_addr == inum->no_addr && + inode->i_private != NULL) return 1; return 0;