Re: [PATCH] generic/095: don't silence fio error output

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Sun, Mar 14, 2021 at 11:49:20PM +0800, Zorro Lang wrote:
> On Sun, Mar 14, 2021 at 07:36:32PM +0800, Eryu Guan wrote:
> > Hi Zorro,
> > 
> > On Tue, Feb 02, 2021 at 02:22:53PM +0800, Zorro Lang wrote:
> > > This case print both fio stdout and stderr to .full file, that cause
> > > we miss some unexpected failures when there's a bug. For example:
> > > 
> > >   file:io_u.c:1803, func=io_u error, error=Block device required
> > > 
> > > This's an regression issue we find on a downstream kernel, not in
> > > upstream. So release unexpected fio error output to find more issues.
> > > 
> > > Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx>
> > > ---
> > >  tests/generic/095 | 5 ++++-
> > >  1 file changed, 4 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/tests/generic/095 b/tests/generic/095
> > > index 9afaa761..30fe77a5 100755
> > > --- a/tests/generic/095
> > > +++ b/tests/generic/095
> > > @@ -98,8 +98,11 @@ _require_fio $fio_config
> > >  _scratch_mkfs >>$seqres.full 2>&1
> > >  _scratch_mount
> > >  
> > > +# There's a known EIO failure to report collisions between directio and buffered
> > > +# writes to userspace, refer to upstream linux 5a9d929d6e13. So ignore EIO error
> > > +# at here.
> > > +$FIO_PROG $fio_config --ignore_error=,EIO --output=$seqres.full
> > 
> > I found that with this change, EIO is ignored and the return value of
> > fio command is 0 as expected, but the output breaks golden image and
> > fails the test.
> > 
> > [root@fedoravm xfstests]# ./check -s xfs_4k_reflink generic/095
> > SECTION       -- xfs_4k_reflink
> > RECREATING    -- xfs on /dev/mapper/testvg-lv1
> > FSTYP         -- xfs (debug)
> > PLATFORM      -- Linux/x86_64 fedoravm 5.11.0 #5 SMP Sun Feb 28 21:50:24 CST 2021
> > MKFS_OPTIONS  -- -f -f -b size=4k -m reflink=1,rmapbt=1 /dev/mapper/testvg-lv2
> > MOUNT_OPTIONS -- /dev/mapper/testvg-lv2 /mnt/scratch
> > 
> > generic/095 4s ... - output mismatch (see /root/workspace/xfstests/results//xfs_4k_reflink/generic/095.out.bad)
> >     --- tests/generic/095.out   2018-02-25 15:15:00.097388035 +0800
> >     +++ /root/workspace/xfstests/results//xfs_4k_reflink/generic/095.out.bad    2021-03-14 19:32:04.126884255 +0800
> >     @@ -1,2 +1,7 @@
> >      QA output created by 095
> >     +job9: No I/O performed by mmap, perhaps try --debug=io option for details?
> >     +job9: No I/O performed by mmap, perhaps try --debug=io option for details?
> >     +job9: No I/O performed by mmap, perhaps try --debug=io option for details?
> >     +job9: No I/O performed by mmap, perhaps try --debug=io option for details?
> >     +job9: No I/O performed by mmap, perhaps try --debug=io option for details?
> >      Silence is golden
> > 
> > Did you hit the same failure? If so I think we should filter out this
> > message.
> 
> Hmm... I never hit that. I don't think this patch can cause this error, can you
> still reproduce it without this patch? The mmap operation from fio might get
> some unexpected random arguments, you might find a fio bug :-P

No, it's not reproducible without this patch, because...

> 
> Thanks,
> Zorro
> 
> > 
> > Thanks,
> > Eryu
> > 
> > >  echo "Silence is golden"
> > > -$FIO_PROG $fio_config >>$seqres.full 2>&1

The original behavior threw away all the fio output, so there was no
such failure. The patch in question made stderr visiable.

Thanks,
Eryu

> > >  
> > >  # xfs generates WARNINGs on purpose when applications mix buffered/mmap IO with
> > >  # direct IO on the same file. On the other hand, this fio job has been proven
> > > -- 
> > > 2.29.2
> > 



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux