----- 原始邮件 ----- > 发件人: "Zorro Lang" <zlang@xxxxxxxxxx> > 收件人: "XiaoLi Feng" <xifeng@xxxxxxxxxx> > 抄送: fstests@xxxxxxxxxxxxxxx > 发送时间: 星期四, 2021年 2 月 18日 下午 9:41:34 > 主题: Re: [PATCH v3] common/rc: add filter in _test_inode_flag > > On Thu, Feb 18, 2021 at 04:57:52PM +0800, XiaoLi Feng wrote: > > From: Xiaoli Feng <xifeng@xxxxxxxxxx> > > > > Add _filter_testdir_and_scratch to avoid _test_inode_flag failed when > > mount point contains flag string. > > > > Signed-off-by: Xiaoli Feng <xifeng@xxxxxxxxxx> > > --- > > common/rc | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/common/rc b/common/rc > > index 649b1cfd..473188c1 100644 > > --- a/common/rc > > +++ b/common/rc > > @@ -3112,7 +3112,7 @@ _test_inode_flag() > > local flag=$1 > > local file=$2 > > > > - if $XFS_IO_PROG -r -c 'lsattr -v' "$file" | grep -q "$flag" ; then > > + if $XFS_IO_PROG -r -c 'lsattr -v' "$file" | _filter_testdir_and_scratch | > > grep -q "$flag" ; then > > I can't understand that. Could you give us an example about why we need this > filter before "quiet grep"? I think this line doesn't have any output > (except xfs_io fails), so why a filter is needed? Oh, I just saw your reply for V1 patch review: "When test generic/608 for dax on xfs, "_check_xflag $t_file 0" is always failed if the $f_file has dax string. Yes, here should also include filter for TEST_DIR." The _check_xflag() function as below: _check_xflag() { local target=$1 local exp_xflag=$2 if [ $exp_xflag -eq 0 ]; then _test_inode_flag dax $target && echo "$target has unexpected FS_XFLAG_DAX flag" else _test_inode_flag dax $target || echo "$target doesn't have expected FS_XFLAG_DAX flag" fi } Sure, if the $1 is something likes "/mnt/scratch/file", later echo "$target ...." will print "/mnt/scratch". If you're trying to fix this issue, I think you should filter the "$target" in or behind _check_xflag(), not in _test_inode_flag() which has no output. Thanks, Zorro > > Thanks, > Zorro > > > return 0 > > fi > > return 1 > > -- > > 2.18.1 > > >