From 6172e1901f02cbed429c5c5c7a0824419b23d3db Mon Sep 17 00:00:00 2001 From: Erez Zadok Date: Tue, 25 Dec 2007 16:55:17 -0500 Subject: [PATCH] Unionfs: use locking around i_size_write in 32-bit systems CC: Hugh Dickins Signed-off-by: Erez Zadok --- fs/unionfs/super.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c index 4902af6c222..99ec8d2be06 100644 --- a/fs/unionfs/super.c +++ b/fs/unionfs/super.c @@ -69,7 +69,13 @@ static void unionfs_read_inode(struct inode *inode) */ static void unionfs_delete_inode(struct inode *inode) { +#if BITS_PER_LONG == 32 && defined(CONFIG_SMP) + spin_lock(&inode->i_lock); +#endif i_size_write(inode, 0); /* every f/s seems to do that */ +#if BITS_PER_LONG == 32 && defined(CONFIG_SMP) + spin_unlock(&inode->i_lock); +#endif if (inode->i_data.nrpages) truncate_inode_pages(&inode->i_data, 0); -- 2.43.0