提交 b327f651 编写于 作者: Y yangerkun 提交者: Zheng Zengkai

ext4: avoid recheck extent for EXT4_EX_FORCE_CACHE

hulk inclusion
category: bugfix
bugzilla: 182952 https://gitee.com/openeuler/kernel/issues/I4DDEL

---------------------------

Buffer with verified means that it has been checked before. No need
verify and call set_buffer_verified again.
Signed-off-by: Nyangerkun <yangerkun@huawei.com>
Reviewed-by: NJan Kara <jack@suse.cz>
Reviewed-by: NZhang Yi <yi.zhang@huawei.com>
Signed-off-by: NChen Jun <chenjun102@huawei.com>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 2881364c
......@@ -544,13 +544,16 @@ __read_extent_tree_block(const char *function, unsigned int line,
if (err < 0)
goto errout;
}
if (buffer_verified(bh) && !(flags & EXT4_EX_FORCE_CACHE))
return bh;
err = __ext4_ext_check(function, line, inode, ext_block_hdr(bh),
depth, pblk, le32_to_cpu(idx->ei_block));
if (err)
goto errout;
set_buffer_verified(bh);
if (buffer_verified(bh)) {
if (!(flags & EXT4_EX_FORCE_CACHE))
return bh;
} else {
err = __ext4_ext_check(function, line, inode, ext_block_hdr(bh),
depth, pblk, le32_to_cpu(idx->ei_block));
if (err)
goto errout;
set_buffer_verified(bh);
}
/*
* If this is a leaf block, cache all of its entries
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册