Re: [PATCH v2] common/rc: support f2fs in _require_fanotify_ioerrors()

Chao Yu <[email protected]> Tue, 28 Jul 2026 10:24:10 +0800
Newsgroups org.kernel.vger.fstests,net.sourceforge.lists.linux-f2fs-devel
Message-ID <[email protected]>
On 7/28/26 01:57, Zorro Lang wrote:
> On Thu, Jul 23, 2026 at 05:09:12PM +0800, Chao Yu wrote:
>> On 7/17/26 18:47, Zorro Lang wrote:
>>> On Wed, Jul 08, 2026 at 11:25:37AM +0800, Chao Yu wrote:
>>>> On 7/7/26 18:13, Anand Suveer Jain wrote:
>>>>> On 6/7/26 14:43, Chao Yu wrote:
>>>>>> f2fs has supported to report fserror, this patch adds support for f2fs
>>>>>> in _require_fanotify_ioerrors(), so that we can run generic/791 on f2fs.
>>>>>>
>>>>>> Cc: Darrick J. Wong <[email protected]>
>>>>>> Signed-off-by: Chao Yu <[email protected]>
>>>>>> ---
>>>>>>   common/rc | 3 +++
>>>>>>   1 file changed, 3 insertions(+)
>>>>>>
>>>>>> diff --git a/common/rc b/common/rc
>>>>>> index 494725547..f51ad59f3 100644
>>>>>> --- a/common/rc
>>>>>> +++ b/common/rc
>>>>>> @@ -6257,6 +6257,9 @@ _require_fanotify_ioerrors()
>>>>>>   		x="$(_get_fs_sysfs_attr $TEST_DEV err_report_sec)"
>>>>>>   		test -n "$x" && return 0
>>>>>>   		;;
>>>>>
>>>>>
>>>>>> +	f2fs)
>>>>>> +		x="$(cat /sys/fs/f2fs/features/fserror)"
>>>>>> +		test -n "$x" && return 0
>>>>>
>>>>> Don't we need to check if /sys/fs/f2fs/features/fserror
>>>>> is present in the running kernel (there are helpers)
>>>>
>>>> Hi Anand,
>>>>
>>>> You mean _has_fs_sysfs_attr()? however, it forces to check first parameter $dev
>>>> w/ block device type:
>>>>
>>>> 	if [ ! -b "$dev" -o -z "$attr" ];then
>>>> 		_fail "Usage: _has_fs_sysfs_attr <mounted_device> <attr>"
>>>> 	fi
>>>
>>> Hi Chao and Anand,
>>>
>>> The *_fs_sysfs related helpers were brought in by me in:
>>>    commit 2a7b77abcd1dde735186b363da24540706c43b73
>>>    Author: Zorro Lang <[email protected]>
>>>    Date:   Tue Jul 5 17:30:24 2016 +0800
>>>
>>>      xfs: configurable behavior on errors at unmount time
>>>
>>> At that time, I didn't think about the "features/" directory.
>>>
>>> Now, let me rethink this set of helpers. I feel that the *_fs_sysfs
>>> family of functions shouldn't be restricted to the $dev directory,
>>> we should remove this restriction.
>>>
>>> Following that, we bring in *_fs_sysfs_device (appending the _device suffix)
>>> helpers which call *_fs_sysfs(). Also change the test cases who call these
>>> functions.
>>>
>>> Finally, we can introduce the *_fs_sysfs_features functions (or simply use
>>> *_fs_sysfs directly).
>>>
>>> Also, we have both *_fs_sysfs_attr and *_fs_sysfs, and the logic between
>>> them is somewhat confusing and easy to mix up.
>>
>> Zorro,
>>
>> It makes sense, and good news to their user. Thanks for the proposal.
>>
>>>
>>> I need to write a series of patches to clean up these logic. For this current
>>> patch, we can start with a small-scale change first. What do you think?
>>
>> So I will use this first:
>>
>> f2fs)
>>      local feat_file="/sys/fs/f2fs/features/fserror"
>>      if [ -f "$feat_file" ] && [ "$(cat "$feat_file")" = "supported" ]; then
>>          return 0
>>      fi
>>      ;;
>>
>> And then waiting for your cleanup? or if you want to clean up this, please do it
>> directly while merging.
> 
> If f2fs wants to test this feature right away, I can merge your patch now and
> clean it up later. If it's not urgent, I'll take care of it all together.

Zorro,

Could you please help to merge it first? so that we can test 791 w/ last
upstream code, and also in case we missed to track its status to lose it. :P

Thanks,

> 
> Thanks,
> Zorro
> 
>>
>> Thanks,
>>
>>>
>>> Thanks,
>>> Zorro
>>>
>>>>
>>>>
>>>>> before reading it?
>>>>
>>>> How about this?
>>>>
>>>> f2fs)
>>>>      local feat_file="/sys/fs/f2fs/features/fserror"
>>>>      if [ -f "$feat_file" ] && [ "$(cat "$feat_file")" = "supported" ]; then
>>>>          return 0
>>>>      fi
>>>>      ;;
>>>>
>>>>>
>>>>>
>>>>>
>>>>>>   	esac
>>>>>>   
>>>>>>   	_notrun "$FSTYP does not support fanotify ioerrors"
>>>>>
>>>>
>>
>>