commit 24d75f2238f7539421473c94f4b8aaa8f01af9b7
Author: Erez Zadok <[EMAIL PROTECTED]>
Date: Tue Jan 1 22:02:28 2008 -0500
Unionfs: use VFS helpers to manipulate i_nlink
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
diff --git a/fs/unionfs/compat.h b/fs/unionfs/compat.h
index 71ebb81..3d93798 100644
--- a/fs/unionfs/compat.h
+++ b/fs/unionfs/compat.h
@@ -94,4 +94,14 @@ static inline loff_t page_offset(struct page *page)
return ((loff_t)page->index) << PAGE_CACHE_SHIFT;
}
+/* from include/linux/fs.h on 2.6.18+ */
+static inline void drop_nlink(struct inode *inode)
+{
+ inode->i_nlink--;
+}
+static inline void inode_dec_link_count(struct inode *inode)
+{
+ drop_nlink(inode);
+ mark_inode_dirty(inode);
+}
#endif /* _UNIONFS_COMPAT_H_ */
diff --git a/fs/unionfs/unlink.c b/fs/unionfs/unlink.c
index a1c82b6..1e370a1 100644
--- a/fs/unionfs/unlink.c
+++ b/fs/unionfs/unlink.c
@@ -79,7 +79,7 @@ static int unionfs_unlink_whiteout(struct inode *dir, struct
dentry *dentry)
out:
if (!err)
- dentry->d_inode->i_nlink--;
+ inode_dec_link_count(dentry->d_inode);
/* We don't want to leave negative leftover dentries for revalidate. */
if (!err && (dbopaque(dentry) != -1))
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs