Re: [PATCH] ext4/053: Add support for testing mb_optimize_scan

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



On Mon, Mar 14, 2022 at 04:02:07PM +0530, Ojaswin Mujoo wrote:
> Add support to test the mb_optimize_scan mount option.
> Since its value is not reflected in the "options" file in proc,
> use "mb_structs_summary" to verify its value.
> 
> Signed-off-by: Ojaswin Mujoo <ojaswin@xxxxxxxxxxxxx>

mb_optimize_scan option was added in v5.13 by commit 196e402adf2e ("ext4:
improve cr 0 / cr 1 group scanning"), and ext4/053 will run on v5.12
kernel (and newer kernels), so test will fail when testing v5.12 kernel.

> ---
>  tests/ext4/053 | 21 ++++++++++++---------
>  1 file changed, 12 insertions(+), 9 deletions(-)
> 
> diff --git a/tests/ext4/053 b/tests/ext4/053
> index e1e79592..bd92002f 100755
> --- a/tests/ext4/053
> +++ b/tests/ext4/053
> @@ -100,6 +100,7 @@ test_mnt() {
>  	(
>  	ret=0
>  	IFS=','
> +	proc_path="/proc/fs/ext4/$(_short_dev $SCRATCH_DEV)"
>  	for option in $OPTS; do
>  		if echo $IGNORED | grep -w $option; then
>  			continue
> @@ -114,11 +115,16 @@ test_mnt() {
>  		fi
>  		option=${option#^}
>  
> -		if echo $CHECK_MINFO | grep -w $option; then
> +		if [[ $option =~ ^mb_optimize_scan=.*$ ]]; then
> +			# mb_optimize_scan needs special handling
> +			expected=${option#*=}
> +			ret=$(cat $proc_path/mb_structs_summary | grep "optimize_scan" \
> +				| awk '{ print $2 }')
> +		elif echo $CHECK_MINFO | grep -w $option; then
>  			findmnt -n -o OPTIONS $SCRATCH_DEV | grep $option
>  			ret=$?
>  		else
> -			grep $option /proc/fs/ext4/$(_short_dev $SCRATCH_DEV)/options
> +			grep $option $proc_path/options
>  			ret=$?
>  		fi
>  
> @@ -526,13 +532,10 @@ for fstype in ext2 ext3 ext4; do
>  
>  	mnt prefetch_block_bitmaps removed
>  	mnt no_prefetch_block_bitmaps
> -	# We don't currently have a way to know that the option has been
> -	# applied, so comment it out for now. This should be fixed in the
> -	# future.

As the comment said, we need a way to know if mb_optimize_scan option is
supported by current kernel.

Thanks,
Eryu

> -	#mnt mb_optimize_scan=0
> -	#mnt mb_optimize_scan=1
> -	#not_mnt mb_optimize_scan=9
> -	#not_mnt mb_optimize_scan=
> +	mnt mb_optimize_scan=0
> +	mnt mb_optimize_scan=1
> +	not_mnt mb_optimize_scan=9
> +	not_mnt mb_optimize_scan=
>  	mnt nombcache
>  	mnt no_mbcache nombcache
>  	mnt check=none removed
> -- 
> 2.27.0



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux