在 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
.