Re: [PATCH] generic/103: leave more space for f2fs

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



On Fri, Jun 11, 2021 at 07:22:10PM +0800, Sun Ke wrote:
> It failed on f2fs:
>      QA output created by 103
>     +fallocate: No space left on device
>      Silence is golden.
>     ...
> 
> Try to leave ~512KB, but during the fallocate, f2fs will be filled.
> Provide error prompt: "fallocate: No space left on device".
> 
> Leave more space for f2fs.

And this also could be a bug in f2fs, that couldn't fallocate enough
space when free space is larger than request size.

I think the whole patchset needs review from f2fs folks.

Thanks,
Eryu

> 
> Signed-off-by: Sun Ke <sunke32@xxxxxxxxxx>
> ---
> I add some test code
> 	+       df
> 			avail=`_get_available_space $SCRATCH_MNT`
> 	+       echo "avail = ${avail}"
> 			filesizekb=$((avail / 1024 - 512))
> 	+       echo "filesizekb = ${filesizekb}"
> 			$XFS_IO_PROG -fc "falloc 0 ${filesizekb}k" $file
> 	+       df
> 	}
> 
> f2fs:
> 	QA output created by 103
> 	+Filesystem       1K-blocks       Used   Available Use% Mounted on
> 	...
> 	+/dev/sdb          12580864     553292    12027572   5% /mnt/scratch
> 	+avail = 12316233728
> 	+filesizekb = 12027060
> 	+fallocate: No space left on device
> 	+Filesystem       1K-blocks       Used   Available Use% Mounted on
> 	...
> 	+/dev/sdb          12580864   12580864           0 100% /mnt/scratch
> 	Silence is golden.
> 
> xfs:
> 	QA output created by 103
> 	+Filesystem       1K-blocks       Used   Available Use% Mounted on
> 	...
> 	+/dev/sdb          12572672     120828    12451844   1% /mnt/scratch
> 	+avail = 12750688256
> 	+filesizekb = 12451332
> 	+Filesystem       1K-blocks       Used   Available Use% Mounted on
> 	...
> 	+/dev/sdb          12572672   12572160         512 100% /mnt/scratch
> 	Silence is golden.
> 
> f2fs:
> 	QA output created by 103
> 	+Filesystem       1K-blocks       Used   Available Use% Mounted on
> 	...
> 	+/dev/sdb          12319880      41048    11633304   1% /mnt/scratch
> 	+avail = 11912503296
> 	+filesizekb = 11632792
> 	+Filesystem       1K-blocks       Used   Available Use% Mounted on
> 	...
> 	+/dev/sdb          12319880   11673844         508 100% /mnt/scratch
> 	Silence is golden.
> 
> after change (f2fs)
> 	QA output created by 103
> 	Filesystem       1K-blocks       Used   Available Use% Mounted on
> 	...
> 	/dev/sdb          12580864   12580396         468 100% /tmp/scratch
> 	Silence is golden.
> 
>  tests/generic/103 | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/generic/103 b/tests/generic/103
> index b22b0159623e..dfce3870781c 100755
> --- a/tests/generic/103
> +++ b/tests/generic/103
> @@ -40,10 +40,18 @@ rm -f $seqres.full
>  _consume_freesp()
>  {
>  	file=$1
> +	leave=512
> +
> +	# Try to leave ~512KB, but during the fallocate, f2fs will be filled.
> +	# Provide error prompt: "fallocate: No space left on device". Leave
> +	# more space for f2fs.
> +	if [ $FSTYP == "f2fs" ]; then
> +		leave=12288
> +	fi
>  
>  	# consume nearly all available space (leave ~512kB)
>  	avail=`_get_available_space $SCRATCH_MNT`
> -	filesizekb=$((avail / 1024 - 512))
> +	filesizekb=$((avail / 1024 - $leave))
>  	$XFS_IO_PROG -fc "falloc 0 ${filesizekb}k" $file
>  }
>  
> -- 
> 2.25.4



[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