On 10/1/2025 2:24 PM, Zorro Lang wrote:
On Mon, Sep 29, 2025 at 02:52:40AM +0800, Chao Yu wrote:Introduce _require_inject_f2fs_command() to check whether inject.f2fs supports specific metaarea and member parameters.Cc: Jaegeuk Kim <[email protected]> Signed-off-by: Chao Yu <[email protected]> --- common/f2fs | 25 +++++++++++++++++++++++++ tests/f2fs/009 | 2 ++ tests/f2fs/012 | 2 ++ tests/f2fs/019 | 2 ++ tests/f2fs/020 | 2 ++ tests/f2fs/022 | 2 ++ 6 files changed, 35 insertions(+) diff --git a/common/f2fs b/common/f2fsYou remind me that there's a common/f2fs file, you can move f2fs specific functions to common/f2fs (e.g. _check_f2fs_filesystem) later :)
Okay.
index 1b39d8ce..4b01e032 100644 --- a/common/f2fs +++ b/common/f2fs @@ -25,3 +25,28 @@ _require_scratch_f2fs_compression() _scratch_unmount fi } + +# check that inject.f2fs supports to inject specific field in specific meta area +_require_inject_f2fs_command() +{ + if [ $# -ne 2 ]; then + echo "Usage: _require_inject_f2fs_command metaarea member" 1>&2 + _exit 1 + fi + metaarea=$1 + member=$2 + + case $metaarea in + sb|cp|nat|sit) + val=0 + ;; + ssa|node|dent) + ;; + *) + _notrun "unsupport metaarea: $metaarea" + ;; + esac + + $F2FS_INJECT_PROG "--$metaarea" "$val" "-h" | grep "$member:" > /dev/null || \ + _notrun "--$metaarea --mb $member support is missing" +} diff --git a/tests/f2fs/009 b/tests/f2fs/009 index 7333d484..465be874 100755 --- a/tests/f2fs/009 +++ b/tests/f2fs/009 @@ -9,10 +9,12 @@ # and expects fsck.f2fs can detect such corruption and do the repair. # . ./common/preamble +. ./common/f2fsThe common/f2fs can be imported by common/config:_source_specific_fs() automatically, so we don't need this line at here.
Oh, so we may missed to add such line for f2fs in common/config:_source_specific_fs(), let me add a separated patch for this, and then we can remove ". ./common/f2fs" for f2fs/002.
(Same below)_begin_fstest auto quick_require_scratch_require_command "$F2FS_INJECT_PROG" inject.f2fs +_require_inject_f2fs_command node i_linksIf the "_require_command $F2FS_INJECT_PROG inject.f2fs" is always required before _require_inject_f2fs_command, how about call it at the beginning of _require_inject_f2fs_command ?
Yeah, that's better. :) Thanks,
(same below) Thanks, Zorro_require_command "$(type -P socket)" socket_fixed_by_git_commit f2fs-tools 958cd6e \diff --git a/tests/f2fs/012 b/tests/f2fs/012 index 7438d9ce..8e156772 100755 --- a/tests/f2fs/012 +++ b/tests/f2fs/012 @@ -12,6 +12,7 @@ # 4.enable linear lookup, expect lookup succeed # . ./common/preamble +. ./common/f2fs _begin_fstest auto quick casefold_fixed_by_kernel_commit 91b587ba79e1 \@@ -21,6 +22,7 @@ export LC_ALL=C.UTF-8 _require_scratch_nocheck _require_command "$F2FS_IO_PROG" f2fs_io _require_command "$F2FS_INJECT_PROG" inject.f2fs +_require_inject_f2fs_command dent d_hash#check whether f2fs supports "lookup_mode=x" mount optionmntopt="" diff --git a/tests/f2fs/019 b/tests/f2fs/019 index 2307bd96..f6bb0b52 100755 --- a/tests/f2fs/019 +++ b/tests/f2fs/019 @@ -12,6 +12,7 @@ # corruption in the file # . ./common/preamble +. ./common/f2fs _begin_fstest auto quick rw_fixed_by_kernel_commit 77de19b6867f \@@ -19,6 +20,7 @@ _fixed_by_kernel_commit 77de19b6867f \_require_scratch_nocheck_require_command "$F2FS_INJECT_PROG" inject.f2fs +_require_inject_f2fs_command node addr# remove all mkfs options to avoid layout change of on-disk inodeexport MKFS_OPTIONS="" diff --git a/tests/f2fs/020 b/tests/f2fs/020 index 38bc6582..332848d0 100755 --- a/tests/f2fs/020 +++ b/tests/f2fs/020 @@ -12,6 +12,7 @@ # corruption in the file # . ./common/preamble +. ./common/f2fs _begin_fstest auto quick rw. ./common/attr@@ -21,6 +22,7 @@ _fixed_by_kernel_commit 061cf3a84bde \_require_scratch_nocheck_require_command "$F2FS_INJECT_PROG" inject.f2fs +_require_inject_f2fs_command node i_xattr_nid _require_attrs user# remove all mkfs options to avoid layout change of on-disk inodediff --git a/tests/f2fs/022 b/tests/f2fs/022 index ed3b4f2b..f81180e8 100755 --- a/tests/f2fs/022 +++ b/tests/f2fs/022 @@ -11,6 +11,7 @@ # 4. fpunch in foo w/ specified range # . ./common/preamble +. ./common/f2fs _begin_fstest auto quick rw. ./common/attr@@ -20,6 +21,7 @@ _fixed_by_kernel_commit xxxxxxxxxxxx \_require_scratch_nocheck_require_command "$F2FS_INJECT_PROG" inject.f2fs +_require_inject_f2fs_command node i_nid# remove all mkfs options to avoid layout change of on-disk inodeexport MKFS_OPTIONS="" -- 2.40.1
_______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
