Re: [PATCH v2] generic/273: Limit number of files by available inodes

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



On Wed, Nov 30, 2022 at 06:01:53PM +0100, Jan Kara wrote:
> Test generic/273 is failing for ext4 with 1k blocksize because it is
> creating more files than we have available inodes. Just limit the number
> of files created to the number of inodes.
> 
> Signed-off-by: Jan Kara <jack@xxxxxxx>
> ---

Looks good to me,
Reviewed-by: Zorro Lang <zlang@xxxxxxxxxx>

>  tests/generic/273 | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
> 
> Changes since v1:
> * Handle btrfs which reports 0 free inodes
> 
> diff --git a/tests/generic/273 b/tests/generic/273
> index f86dae9b8095..54c199962421 100755
> --- a/tests/generic/273
> +++ b/tests/generic/273
> @@ -50,9 +50,21 @@ _file_create()
>  
>  	cd $SCRATCH_MNT/origin
>  
> -	_disksize=`$DF_PROG -B 1 $SCRATCH_MNT | tail -1 | $AWK_PROG '{ print $5 }'`
> +	_disksize=$(_get_available_space $SCRATCH_MNT)
> +	_free_inodes=$(_get_free_inode $SCRATCH_MNT)
> +	# Some filesystems do not limit number of inodes and return 0
> +	if [ $_free_inodes -eq 0 ]; then
> +		# Guess one block per inode
> +		_free_inodes=$(($_disksize / $block_size))
> +	fi
> +	# Leave some slack for directories etc.
> +	_free_inodes=$(($_free_inodes - $_free_inodes/8))
>  	_disksize=$(($_disksize / 3))
> -	_num=$(($_disksize / $count / $threads / $block_size))
> +	_num=$(($_disksize / $count / $block_size))
> +	if [ $_num -gt $_free_inodes ]; then
> +		_num=$_free_inodes
> +	fi
> +	_num=$(($_num/$threads))
>  	_count=$count
>  	while [ $_i -lt $_num ]
>  	do
> -- 
> 2.35.3
> 




[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