On Thu, Oct 09, 2025 at 04:50:43PM +0800, Chao Yu wrote:
> Introduce _require_inject_f2fs_command() to check whether inject.f2fs
> supports specific metaarea and member parameters.
> 
> Meanwhile, let's check inject.f2fs requirement inside
> _require_inject_f2fs_command() for cleanup.
> 
> Cc: Jaegeuk Kim <[email protected]>
> Signed-off-by: Chao Yu <[email protected]>
> ---

Thanks, this version is good to me,

Reviewed-by: Zorro Lang <[email protected]>

>  common/f2fs    | 27 +++++++++++++++++++++++++++
>  tests/f2fs/009 |  2 +-
>  tests/f2fs/012 |  2 +-
>  tests/f2fs/019 |  2 +-
>  tests/f2fs/020 |  2 +-
>  tests/f2fs/022 |  2 +-
>  6 files changed, 32 insertions(+), 5 deletions(-)
> 
> diff --git a/common/f2fs b/common/f2fs
> index 4d0d688b..82d3102e 100644
> --- a/common/f2fs
> +++ b/common/f2fs
> @@ -69,3 +69,30 @@ _check_f2fs_filesystem()
>  
>      return 0
>  }
> +
> +# check that inject.f2fs supports to inject specific field in specific meta 
> area
> +_require_inject_f2fs_command()
> +{
> +     _require_command "$F2FS_INJECT_PROG" inject.f2fs
> +
> +     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..4c179f2d 100755
> --- a/tests/f2fs/009
> +++ b/tests/f2fs/009
> @@ -12,7 +12,7 @@
>  _begin_fstest auto quick
>  
>  _require_scratch
> -_require_command "$F2FS_INJECT_PROG" inject.f2fs
> +_require_inject_f2fs_command node i_links
>  _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..53d54bf6 100755
> --- a/tests/f2fs/012
> +++ b/tests/f2fs/012
> @@ -20,7 +20,7 @@ _fixed_by_kernel_commit 91b587ba79e1 \
>  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 option
>  mntopt=""
> diff --git a/tests/f2fs/019 b/tests/f2fs/019
> index 2307bd96..a6e6e38c 100755
> --- a/tests/f2fs/019
> +++ b/tests/f2fs/019
> @@ -18,7 +18,7 @@ _fixed_by_kernel_commit 77de19b6867f \
>       "f2fs: fix to avoid out-of-boundary access in dnode page"
>  
>  _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 inode
>  export MKFS_OPTIONS=""
> diff --git a/tests/f2fs/020 b/tests/f2fs/020
> index 38bc6582..a6933134 100755
> --- a/tests/f2fs/020
> +++ b/tests/f2fs/020
> @@ -20,7 +20,7 @@ _fixed_by_kernel_commit 061cf3a84bde \
>       "f2fs: fix to do sanity check on ino and xnid"
>  
>  _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 inode
> diff --git a/tests/f2fs/022 b/tests/f2fs/022
> index ed3b4f2b..48a8386b 100755
> --- a/tests/f2fs/022
> +++ b/tests/f2fs/022
> @@ -19,7 +19,7 @@ _fixed_by_kernel_commit xxxxxxxxxxxx \
>       "f2fs: fix to do sanity check on node footer for non inode dnode"
>  
>  _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 inode
>  export MKFS_OPTIONS=""
> -- 
> 2.40.1
> 



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to