* [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
* 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
* [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 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
* 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
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).