diff options
Diffstat (limited to 'fs/ext4/inode.c')
| -rw-r--r-- | fs/ext4/inode.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index e60aca791d3f..fa0ff78dc033 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -2465,7 +2465,7 @@ update_disksize:  	 * truncate are avoided by checking i_size under i_data_sem.  	 */  	disksize = ((loff_t)mpd->first_page) << PAGE_SHIFT; -	if (disksize > EXT4_I(inode)->i_disksize) { +	if (disksize > READ_ONCE(EXT4_I(inode)->i_disksize)) {  		int err2;  		loff_t i_size; @@ -2628,7 +2628,7 @@ static int ext4_writepages(struct address_space *mapping,  	if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))  		return -EIO; -	percpu_down_read(&sbi->s_journal_flag_rwsem); +	percpu_down_read(&sbi->s_writepages_rwsem);  	trace_ext4_writepages(inode, wbc);  	/* @@ -2849,7 +2849,7 @@ unplug:  out_writepages:  	trace_ext4_writepages_result(inode, wbc, ret,  				     nr_to_write - wbc->nr_to_write); -	percpu_up_read(&sbi->s_journal_flag_rwsem); +	percpu_up_read(&sbi->s_writepages_rwsem);  	return ret;  } @@ -2864,13 +2864,13 @@ static int ext4_dax_writepages(struct address_space *mapping,  	if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb))))  		return -EIO; -	percpu_down_read(&sbi->s_journal_flag_rwsem); +	percpu_down_read(&sbi->s_writepages_rwsem);  	trace_ext4_writepages(inode, wbc);  	ret = dax_writeback_mapping_range(mapping, sbi->s_daxdev, wbc);  	trace_ext4_writepages_result(inode, wbc, ret,  				     nr_to_write - wbc->nr_to_write); -	percpu_up_read(&sbi->s_journal_flag_rwsem); +	percpu_up_read(&sbi->s_writepages_rwsem);  	return ret;  } @@ -5861,7 +5861,7 @@ int ext4_change_inode_journal_flag(struct inode *inode, int val)  		}  	} -	percpu_down_write(&sbi->s_journal_flag_rwsem); +	percpu_down_write(&sbi->s_writepages_rwsem);  	jbd2_journal_lock_updates(journal);  	/* @@ -5878,7 +5878,7 @@ int ext4_change_inode_journal_flag(struct inode *inode, int val)  		err = jbd2_journal_flush(journal);  		if (err < 0) {  			jbd2_journal_unlock_updates(journal); -			percpu_up_write(&sbi->s_journal_flag_rwsem); +			percpu_up_write(&sbi->s_writepages_rwsem);  			return err;  		}  		ext4_clear_inode_flag(inode, EXT4_INODE_JOURNAL_DATA); @@ -5886,7 +5886,7 @@ int ext4_change_inode_journal_flag(struct inode *inode, int val)  	ext4_set_aops(inode);  	jbd2_journal_unlock_updates(journal); -	percpu_up_write(&sbi->s_journal_flag_rwsem); +	percpu_up_write(&sbi->s_writepages_rwsem);  	if (val)  		up_write(&EXT4_I(inode)->i_mmap_sem);  |