[Ocfs2-commits] mfasheh commits r780 - trunk/src

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Tue Mar 16 18:37:13 CST 2004


Author: mfasheh
Date: 2004-03-16 18:37:11 -0600 (Tue, 16 Mar 2004)
New Revision: 780

Modified:
   trunk/src/namei.c
Log:
* include a patch by Rusty Lynch <rusty at linux.co.intel.com>:

On a 2.6 kernel, sys_unlink will wrap the call to the filesystem
unlink function with atomic_inc/atomic_dec of the inode->i_count.

The following minimal patch fixes ocfs_unlink to take this into
consideration.  (Without this patch attempting to delete any file
on a ocfs2 volume from a 2.6 bases system would result in an -EBUSY
error.)



Modified: trunk/src/namei.c
===================================================================
--- trunk/src/namei.c	2004-03-17 00:36:31 UTC (rev 779)
+++ trunk/src/namei.c	2004-03-17 00:37:11 UTC (rev 780)
@@ -581,7 +581,15 @@
 	__u64 parentOff, fileOff;
 	bool do_release = false;
 	struct inode *parentInode = dentry->d_parent->d_inode;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+	/* 
+	 * On a 2.6 kernel sys_unlink will increment the inode 
+	 * count before calling the filesystem unlink function
+	 */
+	int max_cnt = 3; /* one for this process, inode hash, and sys_unlink */
+#else
 	int max_cnt = 2; /* one for this process and one for inode hash */
+#endif
 
 	LOG_ENTRY_ARGS ("(0x%08x, 0x%08x, '%*s')\n", dir, dentry,
                         dentry->d_name.len, dentry->d_name.name);



More information about the Ocfs2-commits mailing list