[Ocfs2-devel] [PATCH 1/1] OCFS2: add nlink check in ocfs2_inode_revalidate()

wangang wang wen.gang.wang at oracle.com
Mon Sep 22 02:27:34 PDT 2008


nlink should be also checked in ocfs2_inode_revalidate().
before setting flag OCFS2_INODE_DELETED ip_flags (between 
unlink and delete vote), the nlink may be 0.

the patch is against 1.4 git. 
1.2 svn should has the same patch with different line number.

Signed-off-by: Wengang wang <wen.gang.wang at oracle.com>
--
diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c
index 591e693..6b5a83e 100644
--- a/fs/ocfs2/inode.c
+++ b/fs/ocfs2/inode.c
@@ -1186,6 +1186,13 @@ int ocfs2_inode_revalidate(struct dentry *dentry)
 		status = -ENOENT;
 		goto bail;
 	}
+
+	if (!inode->i_nlink) {
+		spin_unlock(&OCFS2_I(inode)->ip_lock);
+		mlog(0, "inode deleted!\n");
+		status = -ENOENT;
+		goto bail;
+	}
 	spin_unlock(&OCFS2_I(inode)->ip_lock);
 
 	/* Let ocfs2_inode_lock do the work of updating our struct



More information about the Ocfs2-devel mailing list