Re: [PATCH 1/2] ext4: avoid recheck extent for EXT4_EX_FORCE_CACHE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat 04-09-21 12:49:45, yangerkun wrote:
> Buffer with verified means that it has been checked before. No need
> verify and call set_buffer_verified again.
> 
> Signed-off-by: yangerkun <yangerkun@xxxxxxxxxx>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

								Honza

> ---
>  fs/ext4/extents.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index cbf37b2cf871..8559e288472f 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -505,13 +505,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);
> -	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);
> +		if (err)
> +			goto errout;
> +		set_buffer_verified(bh);
> +	}
>  	/*
>  	 * If this is a leaf block, cache all of its entries
>  	 */
> -- 
> 2.31.1
> 
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux