generic/103: special left calculation for f2fs
authorSun Ke <sunke32@huawei.com>
Wed, 30 Jun 2021 11:37:35 +0000 (19:37 +0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 4 Jul 2021 09:51:08 +0000 (17:51 +0800)
It failed on f2fs:
      QA output created by 103
     +fallocate: No space left on device
      Silence is golden.
     ...

f2fs uses index(radix) tree as mapping metadata, its space overhead
is about one thousandth of the data.

Suggested-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Sun Ke <sunke32@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
tests/generic/103

index 795f851dc6c8ac7b548e644cb06aeec7406fa7b5..4efa1dc366f99afa3de7bab120119d4d92ac090b 100755 (executable)
@@ -27,10 +27,18 @@ _require_xfs_io_command "falloc"
 _consume_freesp()
 {
        file=$1
 _consume_freesp()
 {
        file=$1
+       left=512
 
        # consume nearly all available space (leave ~512kB)
        avail=`_get_available_space $SCRATCH_MNT`
 
        # consume nearly all available space (leave ~512kB)
        avail=`_get_available_space $SCRATCH_MNT`
-       filesizekb=$((avail / 1024 - 512))
+
+       # f2fs uses index(radix) tree as mapping metadata, its space overhead
+       # is about one thousandth of the data
+       if [ $FSTYP == "f2fs" ]; then
+               left=$((left + avail / 1024000))
+       fi
+
+       filesizekb=$((avail / 1024 - $left))
        $XFS_IO_PROG -fc "falloc 0 ${filesizekb}k" $file
 }
 
        $XFS_IO_PROG -fc "falloc 0 ${filesizekb}k" $file
 }