From: Erez Zadok Date: Fri, 21 Dec 2007 05:27:47 +0000 (-0500) Subject: Unionfs: use locking around i_size_write in 32-bit systems X-Git-Tag: unionfs-2.2~28 X-Git-Url: https://git.fsl.cs.sunysb.edu/?a=commitdiff_plain;h=af4757bffb2a47ea0ae8981d489632ee100a4d80;p=unionfs-2.6.31.y.git Unionfs: use locking around i_size_write in 32-bit systems CC: Hugh Dickins Signed-off-by: Erez Zadok --- diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c index 0ff9a9e7eea..ed3eb0460fe 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);