linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
From: Chao Yu via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Zorro Lang <zlang@redhat.com>
Cc: jaegeuk@kernel.org, Zorro Lang <zlang@kernel.org>,
	fstests@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net
Subject: Re: [f2fs-dev] [PATCH] common/f2fs: introduce _require_inject_f2fs_command()
Date: Thu, 9 Oct 2025 16:35:16 +0800	[thread overview]
Message-ID: <7cab9cad-c075-452d-8600-bacc2db916b6@kernel.org> (raw)
In-Reply-To: <20251001062441.cjh2wd7uleduehey@dell-per750-06-vm-08.rhts.eng.pek2.redhat.com>

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 <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
> 
> You 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/f2fs
> 
> The 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_links
> 
> If 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 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

      reply	other threads:[~2025-10-09  8:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7cab9cad-c075-452d-8600-bacc2db916b6@kernel.org \
    --to=linux-f2fs-devel@lists.sourceforge.net \
    --cc=chao@kernel.org \
    --cc=fstests@vger.kernel.org \
    --cc=jaegeuk@kernel.org \
    --cc=zlang@kernel.org \
    --cc=zlang@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).