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

Zorro Lang <[email protected]> Fri, 17 Jul 2026 18:47:30 +0800
Newsgroups org.kernel.vger.fstests,net.sourceforge.lists.linux-f2fs-devel
Message-ID <aloCfjjqesxpzL9z@zlang-mailbox>
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.

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?

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"
> > 
>