[Cluster-devel] [GFS2] Fix bz 230143, lookup returns wrong inode

Steven Whitehouse swhiteho at redhat.com
Thu Mar 1 10:00:53 UTC 2007


Hi,

The following patch fixes Red Hat bz 230143. 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.


Steve.


diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 0d6831a..00833dc 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;





More information about the Cluster-devel mailing list