Commit be562198 authored by yangerkun's avatar yangerkun Committed by Baokun Li
Browse files

ext4: avoid recheck extent for EXT4_EX_FORCE_CACHE

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



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

Buffer with verified means that it has been checked before. No need
verify and call set_buffer_verified again.

Signed-off-by: default avataryangerkun <yangerkun@huawei.com>
Reviewed-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarBaokun Li <libaokun1@huawei.com>
parent 31fb44c8
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -568,13 +568,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))
	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
	 */