On 2021/6/15 11:28, Sun Ke wrote:
to linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
在 2021/6/11 19:22, Sun Ke 写道:
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.
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.
ext4:
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`
if [ $FSTYP == "f2fs" ]; then
left=$((left + avail / 1024000))
fi
f2fs uses index(radix) tree as mapping metadata, its space overhead
is about one thousandth of the data, so can you please try above
calculation?
Thanks,
- filesizekb=$((avail / 1024 - 512))
+ filesizekb=$((avail / 1024 - $leave))
$XFS_IO_PROG -fc "falloc 0 ${filesizekb}k" $file
}
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel