On Tue, Aug 31, 2021 at 09:38:25AM +0200, Pavel Reichl wrote: > > On 8/31/21 7:26 AM, Zorro Lang wrote: > > On Tue, Aug 31, 2021 at 11:04:26AM +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 > > > > > > Signed-off-by: Murphy Zhou <xzhou@xxxxxxxxxx> > > > --- > > > common/rc | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/common/rc b/common/rc > > > index 46b6b220..0597de13 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> >(grep -v 'insecure permission' >&2)) >> $seqres.full > > The change history is: > > > > Commit 0c95c8ac tried to "hide permision warning", so did: > > - $MKSWAP_PROG "$fname" >> $seqres.full > > + # Ignore permission complaints on filesystems that don't support perms > > + $MKSWAP_PROG "$fname" 2> >(grep -v 'insecure permission' >&2) >> $seqres.full > > > > Then commit 0e4dd8b9 said "it broke older versions of bash such as 4.4.23", so tried > > to use "a $(foo) to run the executable": > > - $MKSWAP_PROG "$fname" 2> >(grep -v 'insecure permission' >&2) >> $seqres.full > > + $(MKSWAP_PROG "$fname" 2> >(grep -v 'insecure permission' >&2)) >> $seqres.full > > > > Now this patch try to do ($FOO_PROG): > > ($MKSWAP_PROG "$fname" .....) > > > > I'm *not* a bash expert, if I'm wrong feel free to correct me:) If the original problem > > is trying to hide permision warning from stderr, and to avoid new syntax breaking old > > bash, Why we must struggle with this complex syntax which isn't compatible. How about: > > Hi, sorry I do suck at bash, but: > > > > > $MKSWAP_PROG "$fname" >> $seqres.full 2>&1 | grep -v "insecure permission" > > >> redirects stdout to the seqres.full and the 2>&1 redirects stderr to > wherever stdout goes...so $MKSWAP_PROG "$fname" >> $seqres.full 2>&1 sends > both stdout and stderr to the file so nothing is piped to grep. Or do I miss > something (which is entirely possible)? Sorry, I reversed the order. I mean: $MKSWAP_PROG "$fname" 2>&1 >> $seqres.full | grep -v "insecure permission" Thanks, Zorro > > > Thanks! > > > > > > Or other better and compatible way ? > > > > Thanks, > > Zorro > > > > > } > > > _swapon_file() { > > > -- > > > 2.20.1 > > > >