ext4: tell DAX the size of allocation holes
When DAX calls _ext4_get_block() and the file offset points to a hole we currently don't set bh->b_size. This is current worked around via buffer_size_valid() in fs/dax.c. _ext4_get_block() has the hole size information from ext4_map_blocks(), so populate bh->b_size so we can remove buffer_size_valid() in a later patch. Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
parent
1001354ca3
commit
547edce3ba
|
@ -767,6 +767,9 @@ static int _ext4_get_block(struct inode *inode, sector_t iblock,
|
|||
ext4_update_bh_state(bh, map.m_flags);
|
||||
bh->b_size = inode->i_sb->s_blocksize * map.m_len;
|
||||
ret = 0;
|
||||
} else if (ret == 0) {
|
||||
/* hole case, need to fill in bh->b_size */
|
||||
bh->b_size = inode->i_sb->s_blocksize * map.m_len;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue