|
@@ -675,9 +675,11 @@ static inline loff_t i_size_read(const struct inode *inode)
|
|
static inline void i_size_write(struct inode *inode, loff_t i_size)
|
|
static inline void i_size_write(struct inode *inode, loff_t i_size)
|
|
{
|
|
{
|
|
#if BITS_PER_LONG==32 && defined(CONFIG_SMP)
|
|
#if BITS_PER_LONG==32 && defined(CONFIG_SMP)
|
|
|
|
+ preempt_disable();
|
|
write_seqcount_begin(&inode->i_size_seqcount);
|
|
write_seqcount_begin(&inode->i_size_seqcount);
|
|
inode->i_size = i_size;
|
|
inode->i_size = i_size;
|
|
write_seqcount_end(&inode->i_size_seqcount);
|
|
write_seqcount_end(&inode->i_size_seqcount);
|
|
|
|
+ preempt_enable();
|
|
#elif BITS_PER_LONG==32 && defined(CONFIG_PREEMPT)
|
|
#elif BITS_PER_LONG==32 && defined(CONFIG_PREEMPT)
|
|
preempt_disable();
|
|
preempt_disable();
|
|
inode->i_size = i_size;
|
|
inode->i_size = i_size;
|