diff options
Diffstat (limited to 'fs/ext4/inode.c')
| -rw-r--r-- | fs/ext4/inode.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index b6a4b41d7e1..ef9d5be0b2a 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -53,6 +53,7 @@  static inline int ext4_begin_ordered_truncate(struct inode *inode,  					      loff_t new_size)  { +	trace_ext4_begin_ordered_truncate(inode, new_size);  	return jbd2_journal_begin_ordered_truncate(  					EXT4_SB(inode->i_sb)->s_journal,  					&EXT4_I(inode)->jinode, @@ -178,6 +179,7 @@ void ext4_evict_inode(struct inode *inode)  	handle_t *handle;  	int err; +	trace_ext4_evict_inode(inode);  	if (inode->i_nlink) {  		truncate_inode_pages(&inode->i_data, 0);  		goto no_delete; @@ -2123,9 +2125,12 @@ static int mpage_da_submit_io(struct mpage_da_data *mpd,  			 */  			if (unlikely(journal_data && PageChecked(page)))  				err = __ext4_journalled_writepage(page, len); -			else +			else if (test_opt(inode->i_sb, MBLK_IO_SUBMIT))  				err = ext4_bio_write_page(&io_submit, page,  							  len, mpd->wbc); +			else +				err = block_write_full_page(page, +					noalloc_get_block_write, mpd->wbc);  			if (!err)  				mpd->pages_written++; @@ -5410,9 +5415,7 @@ int ext4_getattr(struct vfsmount *mnt, struct dentry *dentry,  	 * will return the blocks that include the delayed allocation  	 * blocks for this file.  	 */ -	spin_lock(&EXT4_I(inode)->i_block_reservation_lock);  	delalloc_blocks = EXT4_I(inode)->i_reserved_data_blocks; -	spin_unlock(&EXT4_I(inode)->i_block_reservation_lock);  	stat->blocks += (delalloc_blocks << inode->i_sb->s_blocksize_bits)>>9;  	return 0; @@ -5649,6 +5652,7 @@ int ext4_mark_inode_dirty(handle_t *handle, struct inode *inode)  	int err, ret;  	might_sleep(); +	trace_ext4_mark_inode_dirty(inode, _RET_IP_);  	err = ext4_reserve_inode_write(handle, inode, &iloc);  	if (ext4_handle_valid(handle) &&  	    EXT4_I(inode)->i_extra_isize < sbi->s_want_extra_isize &&  |