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

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





在 2021/6/13 22:44, Eryu Guan 写道:
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
I have cc linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx.

Thanks,
Sun Ke


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