* [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options
@ 2025-08-04 11:40 Chao Yu via Linux-f2fs-devel
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 2/3] f2fs/016: test special " Chao Yu via Linux-f2fs-devel
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Chao Yu via Linux-f2fs-devel @ 2025-08-04 11:40 UTC (permalink / raw)
To: Zorro Lang, fstests; +Cc: jaegeuk, linux-f2fs-devel
As f2fs changes to use new mount APIs, let's add a new testcase
to check mount result for all f2fs supported common mount options
and their combinations, in order to detect any inconsistency during
mount.
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
---
common/rc | 3 +
tests/f2fs/015 | 121 +++++++++++++++++++++++++++++++
tests/f2fs/015.out | 173 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 297 insertions(+)
create mode 100755 tests/f2fs/015
create mode 100644 tests/f2fs/015.out
diff --git a/common/rc b/common/rc
index ff5df203..81587dad 100644
--- a/common/rc
+++ b/common/rc
@@ -876,6 +876,9 @@ _test_mkfs()
ext2|ext3|ext4)
$MKFS_PROG -t $FSTYP -- -F $MKFS_OPTIONS $* $TEST_DEV
;;
+ f2fs)
+ $MKFS_PROG -t $FSTYP -- -f $MKFS_OPTIONS $* $TEST_DEV
+ ;;
xfs)
_test_options mkfs
$MKFS_PROG -t $FSTYP -- -f $TEST_OPTIONS $MKFS_OPTIONS $* $TEST_DEV
diff --git a/tests/f2fs/015 b/tests/f2fs/015
new file mode 100755
index 00000000..73ac3d82
--- /dev/null
+++ b/tests/f2fs/015
@@ -0,0 +1,121 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2025 Chao Yu. All Rights Reserved.
+#
+# FS QA Test No. f2fs/015
+#
+# This testcase tries to check stability of mount result
+# w/ common mount option and their combination.
+#
+. ./common/preamble
+_begin_fstest auto quick mount
+_require_kernel_config CONFIG_F2FS_FS_XATTR
+_require_kernel_config CONFIG_F2FS_FS_POSIX_ACL
+_require_kernel_config CONFIG_F2FS_FAULT_INJECTION
+
+options=(
+# mount_option mkfs_option
+ "background_gc=on" "" \
+ "background_gc=off" "" \
+ "background_gc=sync" "" \
+ "disable_roll_forward" "" \
+ "norecovery" "" \
+ "discard" "" \
+ "nodiscard" "" \
+ "no_heap" "" \
+ "heap" "" \
+ "user_xattr" "" \
+ "nouser_xattr" "" \
+ "acl" "" \
+ "noacl" "" \
+ "active_logs=2" "" \
+ "active_logs=4" "" \
+ "active_logs=6" "" \
+ "disable_ext_identify" "" \
+ "inline_xattr" "" \
+ "noinline_xattr" "" \
+ "inline_xattr_size=400" "" \
+ "inline_data" "" \
+ "noinline_dentry" "" \
+ "inline_dentry" "" \
+ "noinline_dentry" "" \
+ "flush_merge" "" \
+ "noflush_merge" "" \
+ "barrier" "" \
+ "nobarrier" "" \
+ "fastboot" "" \
+ "extent_cache" "" \
+ "noextent_cache" "" \
+ "data_flush" "" \
+ "reserve_root=32768" "" \
+ "resuid=1000" "" \
+ "resgid=1000" "" \
+ "fault_injection=100" "" \
+ "fault_type=4095" "" \
+ "mode=adaptive" "" \
+ "mode=lfs" "" \
+ "mode=fragment:segment" "" \
+ "mode=fragment:block" "" \
+ "usrquota" "" \
+ "grpquota" "" \
+ "prjquota" "" \
+ "usrjquota=ausrquota" "" \
+ "grpjquota=agrpquota" "" \
+ "prjjquota=aprjquota" "" \
+ "jqfmt=vfsold" "" \
+ "jqfmt=vfsv0" "" \
+ "jqfmt=vfsv1" "" \
+ "usrjquota=" "" \
+ "grpjquota=" "" \
+ "prjjquota=" "" \
+ "quota" "" \
+ "noquota" "" \
+ "alloc_mode=reuse" "" \
+ "alloc_mode=default" "" \
+ "fsync_mode=posix" "" \
+ "fsync_mode=strict" "" \
+ "fsync_mode=nobarrier" "" \
+ "test_dummy_encryption" "" \
+ "test_dummy_encryption=v1" "" \
+ "test_dummy_encryption=v2" "" \
+ "checkpoint=enable" "" \
+ "checkpoint=disable" "" \
+ "checkpoint=disable:32768" "" \
+ "checkpoint=disable:50%" "" \
+ "checkpoint_merge" "" \
+ "nocheckpoint_merge" "" \
+ "compress_algorithm=lzo" "" \
+ "inlinecrypt" "" \
+ "atgc" "" \
+ "discard_unit=block" "" \
+ "discard_unit=segment" "" \
+ "discard_unit=section" "" \
+ "memory=normal" "" \
+ "memory=low" "" \
+ "age_extent_cache" "" \
+ "errors=panic" "" \
+ "errors=continue" "" \
+ "errors=remount-ro" "" \
+ "nat_bits" "" \
+ "atgc,mode=lfs" "" \
+ "ro,flush_merge" "" \
+ "rw" "ro" \
+ "norecovery,ro" "" \
+)
+
+for ((i=0;i<${#options[@]};i=i+2))
+do
+ echo "Option#$i: ${options[$i]} : ${options[$((i+1))]}"
+
+ if [ "${options[$((i+1))]}" ]; then
+ _scratch_mkfs "-O ${options[$((i+1))]}" >> $seqres.full || _fail "mkfs failed"
+ else
+ _scratch_mkfs >> $seqres.full || _fail "mkfs failed"
+ fi
+ _try_scratch_mount "-o ${options[$i]}" >> $seqres.full 2>&1
+ echo $?
+ _scratch_unmount >> $seqres.full 2>&1
+done
+
+status=0
+exit
diff --git a/tests/f2fs/015.out b/tests/f2fs/015.out
new file mode 100644
index 00000000..8d6712f0
--- /dev/null
+++ b/tests/f2fs/015.out
@@ -0,0 +1,173 @@
+QA output created by 015
+Option#0: background_gc=on :
+0
+Option#2: background_gc=off :
+0
+Option#4: background_gc=sync :
+0
+Option#6: disable_roll_forward :
+0
+Option#8: norecovery :
+32
+Option#10: discard :
+0
+Option#12: nodiscard :
+0
+Option#14: no_heap :
+0
+Option#16: heap :
+0
+Option#18: user_xattr :
+0
+Option#20: nouser_xattr :
+0
+Option#22: acl :
+0
+Option#24: noacl :
+0
+Option#26: active_logs=2 :
+0
+Option#28: active_logs=4 :
+0
+Option#30: active_logs=6 :
+0
+Option#32: disable_ext_identify :
+0
+Option#34: inline_xattr :
+0
+Option#36: noinline_xattr :
+0
+Option#38: inline_xattr_size=400 :
+0
+Option#40: inline_data :
+0
+Option#42: noinline_dentry :
+0
+Option#44: inline_dentry :
+0
+Option#46: noinline_dentry :
+0
+Option#48: flush_merge :
+0
+Option#50: noflush_merge :
+0
+Option#52: barrier :
+0
+Option#54: nobarrier :
+0
+Option#56: fastboot :
+0
+Option#58: extent_cache :
+0
+Option#60: noextent_cache :
+0
+Option#62: data_flush :
+0
+Option#64: reserve_root=32768 :
+0
+Option#66: resuid=1000 :
+0
+Option#68: resgid=1000 :
+0
+Option#70: fault_injection=100 :
+0
+Option#72: fault_type=4095 :
+0
+Option#74: mode=adaptive :
+0
+Option#76: mode=lfs :
+0
+Option#78: mode=fragment:segment :
+0
+Option#80: mode=fragment:block :
+0
+Option#82: usrquota :
+0
+Option#84: grpquota :
+0
+Option#86: prjquota :
+32
+Option#88: usrjquota=ausrquota :
+32
+Option#90: grpjquota=agrpquota :
+32
+Option#92: prjjquota=aprjquota :
+32
+Option#94: jqfmt=vfsold :
+0
+Option#96: jqfmt=vfsv0 :
+0
+Option#98: jqfmt=vfsv1 :
+0
+Option#100: usrjquota= :
+0
+Option#102: grpjquota= :
+0
+Option#104: prjjquota= :
+0
+Option#106: quota :
+0
+Option#108: noquota :
+0
+Option#110: alloc_mode=reuse :
+0
+Option#112: alloc_mode=default :
+0
+Option#114: fsync_mode=posix :
+0
+Option#116: fsync_mode=strict :
+0
+Option#118: fsync_mode=nobarrier :
+0
+Option#120: test_dummy_encryption :
+0
+Option#122: test_dummy_encryption=v1 :
+0
+Option#124: test_dummy_encryption=v2 :
+0
+Option#126: checkpoint=enable :
+0
+Option#128: checkpoint=disable :
+0
+Option#130: checkpoint=disable:32768 :
+0
+Option#132: checkpoint=disable:50% :
+0
+Option#134: checkpoint_merge :
+0
+Option#136: nocheckpoint_merge :
+0
+Option#138: compress_algorithm=lzo :
+0
+Option#140: inlinecrypt :
+0
+Option#142: atgc :
+0
+Option#144: discard_unit=block :
+0
+Option#146: discard_unit=segment :
+0
+Option#148: discard_unit=section :
+0
+Option#150: memory=normal :
+0
+Option#152: memory=low :
+0
+Option#154: age_extent_cache :
+0
+Option#156: errors=panic :
+0
+Option#158: errors=continue :
+0
+Option#160: errors=remount-ro :
+0
+Option#162: nat_bits :
+0
+Option#164: atgc,mode=lfs :
+32
+Option#166: ro,flush_merge :
+32
+Option#168: rw : ro
+0
+Option#170: norecovery,ro :
+0
--
2.49.0
_______________________________________________
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] 6+ messages in thread
* [f2fs-dev] [PATCH v3 2/3] f2fs/016: test special mount options
2025-08-04 11:40 [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options Chao Yu via Linux-f2fs-devel
@ 2025-08-04 11:40 ` Chao Yu via Linux-f2fs-devel
2025-08-15 16:01 ` Zorro Lang via Linux-f2fs-devel
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 3/3] f2fs/017: test mount options for zoned device Chao Yu via Linux-f2fs-devel
2025-08-15 16:00 ` [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options Zorro Lang via Linux-f2fs-devel
2 siblings, 1 reply; 6+ messages in thread
From: Chao Yu via Linux-f2fs-devel @ 2025-08-04 11:40 UTC (permalink / raw)
To: Zorro Lang, fstests; +Cc: jaegeuk, linux-f2fs-devel
As f2fs changes to use new mount APIs, let's add a new testcase
to check mount result for all f2fs supported special mount options
and their combinations, in order to detect any inconsistency during
mount.
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
---
tests/f2fs/016 | 50 ++++++++++++++++++++++++++++++++++++++++++++++
tests/f2fs/016.out | 33 ++++++++++++++++++++++++++++++
2 files changed, 83 insertions(+)
create mode 100755 tests/f2fs/016
create mode 100644 tests/f2fs/016.out
diff --git a/tests/f2fs/016 b/tests/f2fs/016
new file mode 100755
index 00000000..800f75fc
--- /dev/null
+++ b/tests/f2fs/016
@@ -0,0 +1,50 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2025 Chao Yu. All Rights Reserved.
+#
+# FS QA Test No. f2fs/016
+#
+# This testcase tries to check stability of mount result
+# w/ f2fs special mount options and their combination.
+#
+. ./common/preamble
+_begin_fstest auto quick mount
+_require_kernel_config CONFIG_F2FS_FS_COMPRESSION
+_require_kernel_config CONFIG_F2FS_FS_LZO
+_require_kernel_config CONFIG_F2FS_FS_LZORLE
+_require_kernel_config CONFIG_F2FS_FS_LZ4
+_require_kernel_config CONFIG_F2FS_FS_LZ4HC
+_require_kernel_config CONFIG_F2FS_FS_ZSTD
+
+options=(
+# mount_option mkfs_option
+ "inline_xattr_size=400" "extra_attr,flexible_inline_xattr"\
+ "compress_algorithm=lzo" "extra_attr,compression" \
+ "compress_algorithm=lz4" "extra_attr,compression" \
+ "compress_algorithm=zstd" "extra_attr,compression" \
+ "compress_algorithm=lzo-rle" "extra_attr,compression" \
+ "compress_algorithm=lz4:3" "extra_attr,compression" \
+ "compress_algorithm=zstd:1" "extra_attr,compression" \
+ "compress_log_size=8" "extra_attr,compression" \
+ "compress_extension=so" "extra_attr,compression" \
+ "nocompress_extension=so" "extra_attr,compression" \
+ "nocompress_extension=*" "extra_attr,compression" \
+ "compress_extension=so,nocompress_extension=so" \
+ "extra_attr,compression" \
+ "compress_chksum" "extra_attr,compression" \
+ "compress_mode=fs" "extra_attr,compression" \
+ "compress_mode=user" "extra_attr,compression" \
+ "compress_cache" "extra_attr,compression" \
+)
+
+for ((i=0;i<${#options[@]};i=i+2))
+do
+ echo "Option#$i: ${options[$i]} : ${options[$((i+1))]}"
+ _scratch_mkfs "-O ${options[$((i+1))]}" >> $seqres.full || _fail "mkfs failed"
+ _try_scratch_mount "-o ${options[$i]}" >> $seqres.full 2>&1
+ echo $?
+ _scratch_unmount >> $seqres.full 2>&1
+done
+
+status=0
+exit
diff --git a/tests/f2fs/016.out b/tests/f2fs/016.out
new file mode 100644
index 00000000..a8c96972
--- /dev/null
+++ b/tests/f2fs/016.out
@@ -0,0 +1,33 @@
+QA output created by 016
+Option#0: inline_xattr_size=400 : extra_attr,flexible_inline_xattr
+0
+Option#2: compress_algorithm=lzo : extra_attr,compression
+0
+Option#4: compress_algorithm=lz4 : extra_attr,compression
+0
+Option#6: compress_algorithm=zstd : extra_attr,compression
+0
+Option#8: compress_algorithm=lzo-rle : extra_attr,compression
+0
+Option#10: compress_algorithm=lz4:3 : extra_attr,compression
+0
+Option#12: compress_algorithm=zstd:1 : extra_attr,compression
+0
+Option#14: compress_log_size=8 : extra_attr,compression
+0
+Option#16: compress_extension=so : extra_attr,compression
+0
+Option#18: nocompress_extension=so : extra_attr,compression
+0
+Option#20: nocompress_extension=* : extra_attr,compression
+32
+Option#22: compress_extension=so,nocompress_extension=so : extra_attr,compression
+32
+Option#24: compress_chksum : extra_attr,compression
+0
+Option#26: compress_mode=fs : extra_attr,compression
+0
+Option#28: compress_mode=user : extra_attr,compression
+0
+Option#30: compress_cache : extra_attr,compression
+0
--
2.49.0
_______________________________________________
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] 6+ messages in thread
* [f2fs-dev] [PATCH v3 3/3] f2fs/017: test mount options for zoned device
2025-08-04 11:40 [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options Chao Yu via Linux-f2fs-devel
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 2/3] f2fs/016: test special " Chao Yu via Linux-f2fs-devel
@ 2025-08-04 11:40 ` Chao Yu via Linux-f2fs-devel
2025-08-15 16:02 ` Zorro Lang via Linux-f2fs-devel
2025-08-15 16:00 ` [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options Zorro Lang via Linux-f2fs-devel
2 siblings, 1 reply; 6+ messages in thread
From: Chao Yu via Linux-f2fs-devel @ 2025-08-04 11:40 UTC (permalink / raw)
To: Zorro Lang, fstests; +Cc: jaegeuk, linux-f2fs-devel
As f2fs changes to use new mount APIs, let's add a new testcase
to check mount result for special mount options for zoned device
and their combinations, in order to detect any inconsistency during
mount.
Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
---
tests/f2fs/017 | 40 ++++++++++++++++++++++++++++++++++++++++
tests/f2fs/017.out | 21 +++++++++++++++++++++
2 files changed, 61 insertions(+)
create mode 100755 tests/f2fs/017
create mode 100644 tests/f2fs/017.out
diff --git a/tests/f2fs/017 b/tests/f2fs/017
new file mode 100755
index 00000000..cdf42fc8
--- /dev/null
+++ b/tests/f2fs/017
@@ -0,0 +1,40 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2025 Chao Yu. All Rights Reserved.
+#
+# FS QA Test No. f2fs/017
+#
+# This testcase tries to check stability of mount result
+# w/ mount options for zoned device and their combination.
+#
+. ./common/preamble
+_begin_fstest auto quick mount
+
+_require_zoned_device "$TEST_DEV"
+_test_unmount >> $seqres.full 2>&1
+
+options=(
+# mount_option mkfs_option
+ "background_gc=on" "blkzone" \
+ "background_gc=off" "blkzone" \
+ "background_gc=sync" "blkzone" \
+ "mode=adaptive" "blkzone" \
+ "mode=lfs" "blkzone" \
+ "mode=fragment:segment" "blkzone" \
+ "mode=fragment:block" "blkzone" \
+ "discard_unit=block" "blkzone" \
+ "discard_unit=segment" "blkzone" \
+ "discard_unit=section" "blkzone" \
+)
+
+for ((i=0;i<${#options[@]};i=i+2))
+do
+ echo "Option#$i: ${options[$i]} : ${options[$((i+1))]}"
+ _test_mkfs "-m" >> $seqres.full || _fail "mkfs failed"
+ _test_mount "-o ${options[$i]}" >> $seqres.full 2>&1
+ echo $?
+ _test_unmount >> $seqres.full 2>&1
+done
+
+status=0
+exit
diff --git a/tests/f2fs/017.out b/tests/f2fs/017.out
new file mode 100644
index 00000000..c260e0b1
--- /dev/null
+++ b/tests/f2fs/017.out
@@ -0,0 +1,21 @@
+QA output created by 017
+Option#0: background_gc=on : blkzone
+0
+Option#2: background_gc=off : blkzone
+32
+Option#4: background_gc=sync : blkzone
+0
+Option#6: mode=adaptive : blkzone
+32
+Option#8: mode=lfs : blkzone
+0
+Option#10: mode=fragment:segment : blkzone
+32
+Option#12: mode=fragment:block : blkzone
+32
+Option#14: discard_unit=block : blkzone
+0
+Option#16: discard_unit=segment : blkzone
+0
+Option#18: discard_unit=section : blkzone
+0
--
2.49.0
_______________________________________________
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] 6+ messages in thread
* Re: [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options
2025-08-04 11:40 [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options Chao Yu via Linux-f2fs-devel
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 2/3] f2fs/016: test special " Chao Yu via Linux-f2fs-devel
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 3/3] f2fs/017: test mount options for zoned device Chao Yu via Linux-f2fs-devel
@ 2025-08-15 16:00 ` Zorro Lang via Linux-f2fs-devel
2 siblings, 0 replies; 6+ messages in thread
From: Zorro Lang via Linux-f2fs-devel @ 2025-08-15 16:00 UTC (permalink / raw)
To: Chao Yu; +Cc: jaegeuk, Zorro Lang, fstests, linux-f2fs-devel
On Mon, Aug 04, 2025 at 07:40:14PM +0800, Chao Yu wrote:
> As f2fs changes to use new mount APIs, let's add a new testcase
> to check mount result for all f2fs supported common mount options
> and their combinations, in order to detect any inconsistency during
> mount.
>
> Cc: Jaegeuk Kim <jaegeuk@kernel.org>
> Signed-off-by: Chao Yu <chao@kernel.org>
> ---
I forgot this patchset. This version is good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>
> common/rc | 3 +
> tests/f2fs/015 | 121 +++++++++++++++++++++++++++++++
> tests/f2fs/015.out | 173 +++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 297 insertions(+)
> create mode 100755 tests/f2fs/015
> create mode 100644 tests/f2fs/015.out
>
> diff --git a/common/rc b/common/rc
> index ff5df203..81587dad 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -876,6 +876,9 @@ _test_mkfs()
> ext2|ext3|ext4)
> $MKFS_PROG -t $FSTYP -- -F $MKFS_OPTIONS $* $TEST_DEV
> ;;
> + f2fs)
> + $MKFS_PROG -t $FSTYP -- -f $MKFS_OPTIONS $* $TEST_DEV
> + ;;
> xfs)
> _test_options mkfs
> $MKFS_PROG -t $FSTYP -- -f $TEST_OPTIONS $MKFS_OPTIONS $* $TEST_DEV
> diff --git a/tests/f2fs/015 b/tests/f2fs/015
> new file mode 100755
> index 00000000..73ac3d82
> --- /dev/null
> +++ b/tests/f2fs/015
> @@ -0,0 +1,121 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2025 Chao Yu. All Rights Reserved.
> +#
> +# FS QA Test No. f2fs/015
> +#
> +# This testcase tries to check stability of mount result
> +# w/ common mount option and their combination.
> +#
> +. ./common/preamble
> +_begin_fstest auto quick mount
> +_require_kernel_config CONFIG_F2FS_FS_XATTR
> +_require_kernel_config CONFIG_F2FS_FS_POSIX_ACL
> +_require_kernel_config CONFIG_F2FS_FAULT_INJECTION
> +
> +options=(
> +# mount_option mkfs_option
> + "background_gc=on" "" \
> + "background_gc=off" "" \
> + "background_gc=sync" "" \
> + "disable_roll_forward" "" \
> + "norecovery" "" \
> + "discard" "" \
> + "nodiscard" "" \
> + "no_heap" "" \
> + "heap" "" \
> + "user_xattr" "" \
> + "nouser_xattr" "" \
> + "acl" "" \
> + "noacl" "" \
> + "active_logs=2" "" \
> + "active_logs=4" "" \
> + "active_logs=6" "" \
> + "disable_ext_identify" "" \
> + "inline_xattr" "" \
> + "noinline_xattr" "" \
> + "inline_xattr_size=400" "" \
> + "inline_data" "" \
> + "noinline_dentry" "" \
> + "inline_dentry" "" \
> + "noinline_dentry" "" \
> + "flush_merge" "" \
> + "noflush_merge" "" \
> + "barrier" "" \
> + "nobarrier" "" \
> + "fastboot" "" \
> + "extent_cache" "" \
> + "noextent_cache" "" \
> + "data_flush" "" \
> + "reserve_root=32768" "" \
> + "resuid=1000" "" \
> + "resgid=1000" "" \
> + "fault_injection=100" "" \
> + "fault_type=4095" "" \
> + "mode=adaptive" "" \
> + "mode=lfs" "" \
> + "mode=fragment:segment" "" \
> + "mode=fragment:block" "" \
> + "usrquota" "" \
> + "grpquota" "" \
> + "prjquota" "" \
> + "usrjquota=ausrquota" "" \
> + "grpjquota=agrpquota" "" \
> + "prjjquota=aprjquota" "" \
> + "jqfmt=vfsold" "" \
> + "jqfmt=vfsv0" "" \
> + "jqfmt=vfsv1" "" \
> + "usrjquota=" "" \
> + "grpjquota=" "" \
> + "prjjquota=" "" \
> + "quota" "" \
> + "noquota" "" \
> + "alloc_mode=reuse" "" \
> + "alloc_mode=default" "" \
> + "fsync_mode=posix" "" \
> + "fsync_mode=strict" "" \
> + "fsync_mode=nobarrier" "" \
> + "test_dummy_encryption" "" \
> + "test_dummy_encryption=v1" "" \
> + "test_dummy_encryption=v2" "" \
> + "checkpoint=enable" "" \
> + "checkpoint=disable" "" \
> + "checkpoint=disable:32768" "" \
> + "checkpoint=disable:50%" "" \
> + "checkpoint_merge" "" \
> + "nocheckpoint_merge" "" \
> + "compress_algorithm=lzo" "" \
> + "inlinecrypt" "" \
> + "atgc" "" \
> + "discard_unit=block" "" \
> + "discard_unit=segment" "" \
> + "discard_unit=section" "" \
> + "memory=normal" "" \
> + "memory=low" "" \
> + "age_extent_cache" "" \
> + "errors=panic" "" \
> + "errors=continue" "" \
> + "errors=remount-ro" "" \
> + "nat_bits" "" \
> + "atgc,mode=lfs" "" \
> + "ro,flush_merge" "" \
> + "rw" "ro" \
> + "norecovery,ro" "" \
> +)
> +
> +for ((i=0;i<${#options[@]};i=i+2))
> +do
> + echo "Option#$i: ${options[$i]} : ${options[$((i+1))]}"
> +
> + if [ "${options[$((i+1))]}" ]; then
> + _scratch_mkfs "-O ${options[$((i+1))]}" >> $seqres.full || _fail "mkfs failed"
> + else
> + _scratch_mkfs >> $seqres.full || _fail "mkfs failed"
> + fi
> + _try_scratch_mount "-o ${options[$i]}" >> $seqres.full 2>&1
> + echo $?
> + _scratch_unmount >> $seqres.full 2>&1
> +done
> +
> +status=0
> +exit
> diff --git a/tests/f2fs/015.out b/tests/f2fs/015.out
> new file mode 100644
> index 00000000..8d6712f0
> --- /dev/null
> +++ b/tests/f2fs/015.out
> @@ -0,0 +1,173 @@
> +QA output created by 015
> +Option#0: background_gc=on :
> +0
> +Option#2: background_gc=off :
> +0
> +Option#4: background_gc=sync :
> +0
> +Option#6: disable_roll_forward :
> +0
> +Option#8: norecovery :
> +32
> +Option#10: discard :
> +0
> +Option#12: nodiscard :
> +0
> +Option#14: no_heap :
> +0
> +Option#16: heap :
> +0
> +Option#18: user_xattr :
> +0
> +Option#20: nouser_xattr :
> +0
> +Option#22: acl :
> +0
> +Option#24: noacl :
> +0
> +Option#26: active_logs=2 :
> +0
> +Option#28: active_logs=4 :
> +0
> +Option#30: active_logs=6 :
> +0
> +Option#32: disable_ext_identify :
> +0
> +Option#34: inline_xattr :
> +0
> +Option#36: noinline_xattr :
> +0
> +Option#38: inline_xattr_size=400 :
> +0
> +Option#40: inline_data :
> +0
> +Option#42: noinline_dentry :
> +0
> +Option#44: inline_dentry :
> +0
> +Option#46: noinline_dentry :
> +0
> +Option#48: flush_merge :
> +0
> +Option#50: noflush_merge :
> +0
> +Option#52: barrier :
> +0
> +Option#54: nobarrier :
> +0
> +Option#56: fastboot :
> +0
> +Option#58: extent_cache :
> +0
> +Option#60: noextent_cache :
> +0
> +Option#62: data_flush :
> +0
> +Option#64: reserve_root=32768 :
> +0
> +Option#66: resuid=1000 :
> +0
> +Option#68: resgid=1000 :
> +0
> +Option#70: fault_injection=100 :
> +0
> +Option#72: fault_type=4095 :
> +0
> +Option#74: mode=adaptive :
> +0
> +Option#76: mode=lfs :
> +0
> +Option#78: mode=fragment:segment :
> +0
> +Option#80: mode=fragment:block :
> +0
> +Option#82: usrquota :
> +0
> +Option#84: grpquota :
> +0
> +Option#86: prjquota :
> +32
> +Option#88: usrjquota=ausrquota :
> +32
> +Option#90: grpjquota=agrpquota :
> +32
> +Option#92: prjjquota=aprjquota :
> +32
> +Option#94: jqfmt=vfsold :
> +0
> +Option#96: jqfmt=vfsv0 :
> +0
> +Option#98: jqfmt=vfsv1 :
> +0
> +Option#100: usrjquota= :
> +0
> +Option#102: grpjquota= :
> +0
> +Option#104: prjjquota= :
> +0
> +Option#106: quota :
> +0
> +Option#108: noquota :
> +0
> +Option#110: alloc_mode=reuse :
> +0
> +Option#112: alloc_mode=default :
> +0
> +Option#114: fsync_mode=posix :
> +0
> +Option#116: fsync_mode=strict :
> +0
> +Option#118: fsync_mode=nobarrier :
> +0
> +Option#120: test_dummy_encryption :
> +0
> +Option#122: test_dummy_encryption=v1 :
> +0
> +Option#124: test_dummy_encryption=v2 :
> +0
> +Option#126: checkpoint=enable :
> +0
> +Option#128: checkpoint=disable :
> +0
> +Option#130: checkpoint=disable:32768 :
> +0
> +Option#132: checkpoint=disable:50% :
> +0
> +Option#134: checkpoint_merge :
> +0
> +Option#136: nocheckpoint_merge :
> +0
> +Option#138: compress_algorithm=lzo :
> +0
> +Option#140: inlinecrypt :
> +0
> +Option#142: atgc :
> +0
> +Option#144: discard_unit=block :
> +0
> +Option#146: discard_unit=segment :
> +0
> +Option#148: discard_unit=section :
> +0
> +Option#150: memory=normal :
> +0
> +Option#152: memory=low :
> +0
> +Option#154: age_extent_cache :
> +0
> +Option#156: errors=panic :
> +0
> +Option#158: errors=continue :
> +0
> +Option#160: errors=remount-ro :
> +0
> +Option#162: nat_bits :
> +0
> +Option#164: atgc,mode=lfs :
> +32
> +Option#166: ro,flush_merge :
> +32
> +Option#168: rw : ro
> +0
> +Option#170: norecovery,ro :
> +0
> --
> 2.49.0
>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [f2fs-dev] [PATCH v3 2/3] f2fs/016: test special mount options
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 2/3] f2fs/016: test special " Chao Yu via Linux-f2fs-devel
@ 2025-08-15 16:01 ` Zorro Lang via Linux-f2fs-devel
0 siblings, 0 replies; 6+ messages in thread
From: Zorro Lang via Linux-f2fs-devel @ 2025-08-15 16:01 UTC (permalink / raw)
To: Chao Yu; +Cc: jaegeuk, Zorro Lang, fstests, linux-f2fs-devel
On Mon, Aug 04, 2025 at 07:40:15PM +0800, Chao Yu wrote:
> As f2fs changes to use new mount APIs, let's add a new testcase
> to check mount result for all f2fs supported special mount options
> and their combinations, in order to detect any inconsistency during
> mount.
>
> Cc: Jaegeuk Kim <jaegeuk@kernel.org>
> Signed-off-by: Chao Yu <chao@kernel.org>
> ---
This version is good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>
> tests/f2fs/016 | 50 ++++++++++++++++++++++++++++++++++++++++++++++
> tests/f2fs/016.out | 33 ++++++++++++++++++++++++++++++
> 2 files changed, 83 insertions(+)
> create mode 100755 tests/f2fs/016
> create mode 100644 tests/f2fs/016.out
>
> diff --git a/tests/f2fs/016 b/tests/f2fs/016
> new file mode 100755
> index 00000000..800f75fc
> --- /dev/null
> +++ b/tests/f2fs/016
> @@ -0,0 +1,50 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2025 Chao Yu. All Rights Reserved.
> +#
> +# FS QA Test No. f2fs/016
> +#
> +# This testcase tries to check stability of mount result
> +# w/ f2fs special mount options and their combination.
> +#
> +. ./common/preamble
> +_begin_fstest auto quick mount
> +_require_kernel_config CONFIG_F2FS_FS_COMPRESSION
> +_require_kernel_config CONFIG_F2FS_FS_LZO
> +_require_kernel_config CONFIG_F2FS_FS_LZORLE
> +_require_kernel_config CONFIG_F2FS_FS_LZ4
> +_require_kernel_config CONFIG_F2FS_FS_LZ4HC
> +_require_kernel_config CONFIG_F2FS_FS_ZSTD
> +
> +options=(
> +# mount_option mkfs_option
> + "inline_xattr_size=400" "extra_attr,flexible_inline_xattr"\
> + "compress_algorithm=lzo" "extra_attr,compression" \
> + "compress_algorithm=lz4" "extra_attr,compression" \
> + "compress_algorithm=zstd" "extra_attr,compression" \
> + "compress_algorithm=lzo-rle" "extra_attr,compression" \
> + "compress_algorithm=lz4:3" "extra_attr,compression" \
> + "compress_algorithm=zstd:1" "extra_attr,compression" \
> + "compress_log_size=8" "extra_attr,compression" \
> + "compress_extension=so" "extra_attr,compression" \
> + "nocompress_extension=so" "extra_attr,compression" \
> + "nocompress_extension=*" "extra_attr,compression" \
> + "compress_extension=so,nocompress_extension=so" \
> + "extra_attr,compression" \
> + "compress_chksum" "extra_attr,compression" \
> + "compress_mode=fs" "extra_attr,compression" \
> + "compress_mode=user" "extra_attr,compression" \
> + "compress_cache" "extra_attr,compression" \
> +)
> +
> +for ((i=0;i<${#options[@]};i=i+2))
> +do
> + echo "Option#$i: ${options[$i]} : ${options[$((i+1))]}"
> + _scratch_mkfs "-O ${options[$((i+1))]}" >> $seqres.full || _fail "mkfs failed"
> + _try_scratch_mount "-o ${options[$i]}" >> $seqres.full 2>&1
> + echo $?
> + _scratch_unmount >> $seqres.full 2>&1
> +done
> +
> +status=0
> +exit
> diff --git a/tests/f2fs/016.out b/tests/f2fs/016.out
> new file mode 100644
> index 00000000..a8c96972
> --- /dev/null
> +++ b/tests/f2fs/016.out
> @@ -0,0 +1,33 @@
> +QA output created by 016
> +Option#0: inline_xattr_size=400 : extra_attr,flexible_inline_xattr
> +0
> +Option#2: compress_algorithm=lzo : extra_attr,compression
> +0
> +Option#4: compress_algorithm=lz4 : extra_attr,compression
> +0
> +Option#6: compress_algorithm=zstd : extra_attr,compression
> +0
> +Option#8: compress_algorithm=lzo-rle : extra_attr,compression
> +0
> +Option#10: compress_algorithm=lz4:3 : extra_attr,compression
> +0
> +Option#12: compress_algorithm=zstd:1 : extra_attr,compression
> +0
> +Option#14: compress_log_size=8 : extra_attr,compression
> +0
> +Option#16: compress_extension=so : extra_attr,compression
> +0
> +Option#18: nocompress_extension=so : extra_attr,compression
> +0
> +Option#20: nocompress_extension=* : extra_attr,compression
> +32
> +Option#22: compress_extension=so,nocompress_extension=so : extra_attr,compression
> +32
> +Option#24: compress_chksum : extra_attr,compression
> +0
> +Option#26: compress_mode=fs : extra_attr,compression
> +0
> +Option#28: compress_mode=user : extra_attr,compression
> +0
> +Option#30: compress_cache : extra_attr,compression
> +0
> --
> 2.49.0
>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [f2fs-dev] [PATCH v3 3/3] f2fs/017: test mount options for zoned device
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 3/3] f2fs/017: test mount options for zoned device Chao Yu via Linux-f2fs-devel
@ 2025-08-15 16:02 ` Zorro Lang via Linux-f2fs-devel
0 siblings, 0 replies; 6+ messages in thread
From: Zorro Lang via Linux-f2fs-devel @ 2025-08-15 16:02 UTC (permalink / raw)
To: Chao Yu; +Cc: jaegeuk, Zorro Lang, fstests, linux-f2fs-devel
On Mon, Aug 04, 2025 at 07:40:16PM +0800, Chao Yu wrote:
> As f2fs changes to use new mount APIs, let's add a new testcase
> to check mount result for special mount options for zoned device
> and their combinations, in order to detect any inconsistency during
> mount.
>
> Cc: Jaegeuk Kim <jaegeuk@kernel.org>
> Signed-off-by: Chao Yu <chao@kernel.org>
> ---
This version is good to me,
Reviewed-by: Zorro Lang <zlang@redhat.com>
> tests/f2fs/017 | 40 ++++++++++++++++++++++++++++++++++++++++
> tests/f2fs/017.out | 21 +++++++++++++++++++++
> 2 files changed, 61 insertions(+)
> create mode 100755 tests/f2fs/017
> create mode 100644 tests/f2fs/017.out
>
> diff --git a/tests/f2fs/017 b/tests/f2fs/017
> new file mode 100755
> index 00000000..cdf42fc8
> --- /dev/null
> +++ b/tests/f2fs/017
> @@ -0,0 +1,40 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2025 Chao Yu. All Rights Reserved.
> +#
> +# FS QA Test No. f2fs/017
> +#
> +# This testcase tries to check stability of mount result
> +# w/ mount options for zoned device and their combination.
> +#
> +. ./common/preamble
> +_begin_fstest auto quick mount
> +
> +_require_zoned_device "$TEST_DEV"
> +_test_unmount >> $seqres.full 2>&1
> +
> +options=(
> +# mount_option mkfs_option
> + "background_gc=on" "blkzone" \
> + "background_gc=off" "blkzone" \
> + "background_gc=sync" "blkzone" \
> + "mode=adaptive" "blkzone" \
> + "mode=lfs" "blkzone" \
> + "mode=fragment:segment" "blkzone" \
> + "mode=fragment:block" "blkzone" \
> + "discard_unit=block" "blkzone" \
> + "discard_unit=segment" "blkzone" \
> + "discard_unit=section" "blkzone" \
> +)
> +
> +for ((i=0;i<${#options[@]};i=i+2))
> +do
> + echo "Option#$i: ${options[$i]} : ${options[$((i+1))]}"
> + _test_mkfs "-m" >> $seqres.full || _fail "mkfs failed"
> + _test_mount "-o ${options[$i]}" >> $seqres.full 2>&1
> + echo $?
> + _test_unmount >> $seqres.full 2>&1
> +done
> +
> +status=0
> +exit
> diff --git a/tests/f2fs/017.out b/tests/f2fs/017.out
> new file mode 100644
> index 00000000..c260e0b1
> --- /dev/null
> +++ b/tests/f2fs/017.out
> @@ -0,0 +1,21 @@
> +QA output created by 017
> +Option#0: background_gc=on : blkzone
> +0
> +Option#2: background_gc=off : blkzone
> +32
> +Option#4: background_gc=sync : blkzone
> +0
> +Option#6: mode=adaptive : blkzone
> +32
> +Option#8: mode=lfs : blkzone
> +0
> +Option#10: mode=fragment:segment : blkzone
> +32
> +Option#12: mode=fragment:block : blkzone
> +32
> +Option#14: discard_unit=block : blkzone
> +0
> +Option#16: discard_unit=segment : blkzone
> +0
> +Option#18: discard_unit=section : blkzone
> +0
> --
> 2.49.0
>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-08-15 16:02 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-04 11:40 [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options Chao Yu via Linux-f2fs-devel
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 2/3] f2fs/016: test special " Chao Yu via Linux-f2fs-devel
2025-08-15 16:01 ` Zorro Lang via Linux-f2fs-devel
2025-08-04 11:40 ` [f2fs-dev] [PATCH v3 3/3] f2fs/017: test mount options for zoned device Chao Yu via Linux-f2fs-devel
2025-08-15 16:02 ` Zorro Lang via Linux-f2fs-devel
2025-08-15 16:00 ` [f2fs-dev] [PATCH v3 1/3] f2fs/015: test common mount options Zorro Lang via Linux-f2fs-devel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).