diff options
Diffstat (limited to 'fs/ext4/inode.c')
| -rw-r--r-- | fs/ext4/inode.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 8dbf6953845..be21a5ae33c 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -2329,6 +2329,8 @@ static int ext4_da_writepage(struct page *page,  			unlock_page(page);  			return 0;  		} +		/* now mark the buffer_heads as dirty and uptodate */ +		block_commit_write(page, 0, PAGE_CACHE_SIZE);  	}  	if (test_opt(inode->i_sb, NOBH) && ext4_should_writeback_data(inode)) @@ -4580,9 +4582,10 @@ static int ext4_indirect_trans_blocks(struct inode *inode, int nrblocks,  static int ext4_index_trans_blocks(struct inode *inode, int nrblocks, int chunk)  {  	if (!(EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL)) -		return ext4_indirect_trans_blocks(inode, nrblocks, 0); -	return ext4_ext_index_trans_blocks(inode, nrblocks, 0); +		return ext4_indirect_trans_blocks(inode, nrblocks, chunk); +	return ext4_ext_index_trans_blocks(inode, nrblocks, chunk);  } +  /*   * Account for index blocks, block groups bitmaps and block group   * descriptor blocks if modify datablocks and index blocks  |