On Wed, Sep 01, 2021 at 02:16:20PM +0800, Murphy Zhou wrote: > After commit > 0e4dd8b9 common/rc: fix ignoring of errors on > we are getting this error message when running swapfiles tests: > +./common/rc: line 2553: MKSWAP_PROG: command not found > > Rewrite the line and add a filter for mkswap. > > Signed-off-by: Murphy Zhou <xzhou@xxxxxxxxxx> > --- > > Thanks all for the suggestions! > > v2: > rewrite the line and add a filter > source filters for generic/643 > > common/filter | 6 ++++++ > common/rc | 2 +- > tests/generic/643 | 1 + > 3 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/common/filter b/common/filter > index 2efbbd99..0883a3fd 100644 > --- a/common/filter > +++ b/common/filter > @@ -661,5 +661,11 @@ _filter_quota_report() > s|^(.*?) (\d+) (\d+) (\d+)|$1 @{[$2 * 1024 /'$bsize']} @{[$3 * 1024 /'$bsize']} @{[$4 * 1024 /'$bsize']}|' > } > > +# Filter mkswap warning about the permissions > +_filter_mkswap_stderr() > +{ > + grep -v "insecure permission" > +} > + This is a one-off, specific filter and the "stderr" part of the name makes no sense. If you want this to be a generic filter, the name is "_filter_insecure_permission()", not it's calling context. But that just shows that this does not need to be in the common filter code - doing so just makes readers have to go look up what the filter is. That is: > # make sure this script returns success > /bin/true > diff --git a/common/rc b/common/rc > index 46b6b220..0a3933a5 100644 > --- a/common/rc > +++ b/common/rc > @@ -2550,7 +2550,7 @@ _format_swapfile() { > $CHATTR_PROG +C "$fname" > /dev/null 2>&1 > _pwrite_byte 0x61 0 "$sz" "$fname" >> $seqres.full > # Ignore permission complaints on filesystems that don't support perms > - $(MKSWAP_PROG "$fname" 2> >(grep -v 'insecure permission' >&2)) >> $seqres.full > + $MKSWAP_PROG "$fname" 2>&1 >> $seqres.full | _filter_mkswap_stderr $MKSWAP_PROG "$fname" 2>&1 >> $seqres.full | \ grep -v "insecure permission" will do what you want and is much more readable and easier to understand. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx