linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* [f2fs-dev] [PATCH] common/f2fs: introduce _require_inject_f2fs_command()
@ 2025-09-28 18:52 Chao Yu via Linux-f2fs-devel
  2025-10-01  6:24 ` Zorro Lang via Linux-f2fs-devel
  0 siblings, 1 reply; 3+ messages in thread
From: Chao Yu via Linux-f2fs-devel @ 2025-09-28 18:52 UTC (permalink / raw)
  To: Zorro Lang, fstests; +Cc: jaegeuk, linux-f2fs-devel

Introduce _require_inject_f2fs_command() to check whether inject.f2fs
supports specific metaarea and member parameters.

Cc: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Chao Yu <chao@kernel.org>
---
 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/f2fs
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/f2fs
 _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..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 option
 mntopt=""
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 inode
 export 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 inode
diff --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 inode
 export MKFS_OPTIONS=""
-- 
2.40.1



_______________________________________________
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] 3+ messages in thread

end of thread, other threads:[~2025-10-09  8:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-28 18:52 [f2fs-dev] [PATCH] common/f2fs: introduce _require_inject_f2fs_command() Chao Yu via Linux-f2fs-devel
2025-10-01  6:24 ` Zorro Lang via Linux-f2fs-devel
2025-10-09  8:35   ` Chao Yu 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).