mirror of https://gitee.com/openkylin/linux.git
ext4: cleanup handling of bh->b_state in DAX mmap
ext4_dax_mmap_get_block() updates bh->b_state directly instead of using ext4_update_bh_state(). This is mostly a cosmetic issue since DAX code always passes on-stack buffer_head but clean this up to make code more uniform. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
facab4d971
commit
e3fb8eb14e
|
@ -3272,13 +3272,12 @@ int ext4_dax_mmap_get_block(struct inode *inode, sector_t iblock,
|
|||
WARN_ON_ONCE(ret == 0 && create);
|
||||
if (ret > 0) {
|
||||
map_bh(bh_result, inode->i_sb, map.m_pblk);
|
||||
bh_result->b_state = (bh_result->b_state & ~EXT4_MAP_FLAGS) |
|
||||
map.m_flags;
|
||||
/*
|
||||
* At least for now we have to clear BH_New so that DAX code
|
||||
* doesn't attempt to zero blocks again in a racy way.
|
||||
*/
|
||||
bh_result->b_state &= ~(1 << BH_New);
|
||||
map.m_flags &= ~EXT4_MAP_NEW;
|
||||
ext4_update_bh_state(bh_result, map.m_flags);
|
||||
bh_result->b_size = map.m_len << inode->i_blkbits;
|
||||
ret = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue