* [PATCH v2] generic/103: special left calculation for f2fs
@ 2021-06-17 7:03 ` Sun Ke
0 siblings, 0 replies; 4+ messages in thread
From: Sun Ke @ 2021-06-17 7:03 UTC (permalink / raw)
To: fstests, linux-f2fs-devel, guan, chao; +Cc: sunke32
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>
---
tests/generic/103 | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/tests/generic/103 b/tests/generic/103
index b22b0159..cf610047 100755
--- a/tests/generic/103
+++ b/tests/generic/103
@@ -40,10 +40,18 @@ rm -f $seqres.full
_consume_freesp()
{
file=$1
+ left=512
# 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
}
--
2.13.6
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [f2fs-dev] [PATCH v2] generic/103: special left calculation for f2fs
@ 2021-06-17 7:03 ` Sun Ke
0 siblings, 0 replies; 4+ messages in thread
From: Sun Ke @ 2021-06-17 7:03 UTC (permalink / raw)
To: fstests, linux-f2fs-devel, guan, chao; +Cc: sunke32
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>
---
tests/generic/103 | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/tests/generic/103 b/tests/generic/103
index b22b0159..cf610047 100755
--- a/tests/generic/103
+++ b/tests/generic/103
@@ -40,10 +40,18 @@ rm -f $seqres.full
_consume_freesp()
{
file=$1
+ left=512
# 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
}
--
2.13.6
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2] generic/260: f2fs is also special
2021-06-17 7:03 ` [f2fs-dev] " Sun Ke
@ 2021-06-17 7:03 ` Sun Ke
-1 siblings, 0 replies; 4+ messages in thread
From: Sun Ke @ 2021-06-17 7:03 UTC (permalink / raw)
To: fstests, linux-f2fs-devel, guan, chao; +Cc: sunke32
It fail on f2fs:
[+] Default length with start set (should succeed)
[+] Length beyond the end of fs (should succeed)
[+] Length beyond the end of fs with start set (should succeed)
+After the full fs discard 0 bytes were discarded however the file system is 12882804736 bytes long.
+It seems that fs logic handling len argument overflows
The root cause is f2fs can tag a special flag TRIMMED_FLAG to indicate
the whole filesystem is trimmed, so after mkfs/fstrim(), following
fstrim() won't trim any block.
Suggested-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Sun Ke <sunke32@huawei.com>
---
tests/generic/260 | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/tests/generic/260 b/tests/generic/260
index 8021aa68..4ab35a56 100755
--- a/tests/generic/260
+++ b/tests/generic/260
@@ -100,7 +100,10 @@ fi
# It is because btrfs does not have not-yet-used parts of the device
# mapped and since we got here right after the mkfs, there is not
# enough free extents in the root tree.
-if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ]; then
+# F2fs is also special. F2fs can tag a special flag TRIMMED_FLAG to
+# indicate the whole filesystem is trimmed, so after mkfs/fstrim(),
+# following fstrim() won't trim any block.
+if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ] && [ $FSTYP != "f2fs" ]; then
status=1
echo "After the full fs discard $bytes bytes were discarded"\
"however the file system is $(_math "$fssize*1024") bytes long."
@@ -159,8 +162,11 @@ _scratch_mount
# It is because btrfs does not have not-yet-used parts of the device
# mapped and since we got here right after the mkfs, there is not
# enough free extents in the root tree.
+# F2fs is also special. F2fs can tag a special flag TRIMMED_FLAG to
+# indicate the whole filesystem is trimmed, so after mkfs/fstrim(),
+# following fstrim() won't trim any block.
bytes=$($FSTRIM_PROG -v -l$len $SCRATCH_MNT | _filter_fstrim)
-if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ]; then
+if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ] && [ $FSTYP != "f2fs" ]; then
status=1
echo "It seems that fs logic handling len argument overflows"
fi
--
2.13.6
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [f2fs-dev] [PATCH v2] generic/260: f2fs is also special
@ 2021-06-17 7:03 ` Sun Ke
0 siblings, 0 replies; 4+ messages in thread
From: Sun Ke @ 2021-06-17 7:03 UTC (permalink / raw)
To: fstests, linux-f2fs-devel, guan, chao; +Cc: sunke32
It fail on f2fs:
[+] Default length with start set (should succeed)
[+] Length beyond the end of fs (should succeed)
[+] Length beyond the end of fs with start set (should succeed)
+After the full fs discard 0 bytes were discarded however the file system is 12882804736 bytes long.
+It seems that fs logic handling len argument overflows
The root cause is f2fs can tag a special flag TRIMMED_FLAG to indicate
the whole filesystem is trimmed, so after mkfs/fstrim(), following
fstrim() won't trim any block.
Suggested-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Sun Ke <sunke32@huawei.com>
---
tests/generic/260 | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/tests/generic/260 b/tests/generic/260
index 8021aa68..4ab35a56 100755
--- a/tests/generic/260
+++ b/tests/generic/260
@@ -100,7 +100,10 @@ fi
# It is because btrfs does not have not-yet-used parts of the device
# mapped and since we got here right after the mkfs, there is not
# enough free extents in the root tree.
-if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ]; then
+# F2fs is also special. F2fs can tag a special flag TRIMMED_FLAG to
+# indicate the whole filesystem is trimmed, so after mkfs/fstrim(),
+# following fstrim() won't trim any block.
+if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ] && [ $FSTYP != "f2fs" ]; then
status=1
echo "After the full fs discard $bytes bytes were discarded"\
"however the file system is $(_math "$fssize*1024") bytes long."
@@ -159,8 +162,11 @@ _scratch_mount
# It is because btrfs does not have not-yet-used parts of the device
# mapped and since we got here right after the mkfs, there is not
# enough free extents in the root tree.
+# F2fs is also special. F2fs can tag a special flag TRIMMED_FLAG to
+# indicate the whole filesystem is trimmed, so after mkfs/fstrim(),
+# following fstrim() won't trim any block.
bytes=$($FSTRIM_PROG -v -l$len $SCRATCH_MNT | _filter_fstrim)
-if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ]; then
+if [ $bytes -le $(_math "$fssize*512") ] && [ $FSTYP != "btrfs" ] && [ $FSTYP != "f2fs" ]; then
status=1
echo "It seems that fs logic handling len argument overflows"
fi
--
2.13.6
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-06-17 6:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-17 7:03 [PATCH v2] generic/103: special left calculation for f2fs Sun Ke
2021-06-17 7:03 ` [f2fs-dev] " Sun Ke
2021-06-17 7:03 ` [PATCH v2] generic/260: f2fs is also special Sun Ke
2021-06-17 7:03 ` [f2fs-dev] " Sun Ke
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.