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

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



On Mon, Mar 15, 2021 at 12:02:14AM +0800, Eryu Guan wrote:
> 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.

Oh, you're right. But I don't think this patch is the root cause of this error,
I just let error output visible, doesn't inject any new behaviors.

I've tested with this change on different systems, never hit this error, even on
latest upstream xfs with latest upstream fio:

# ./check generic/095
FSTYP         -- xfs (debug)
PLATFORM      -- Linux/x86_64 ibm-xxxxx-xx 5.12.0-rc2-xfs #6 SMP Mon Mar 15 00:02:03 CST 2021                                                                                               
MKFS_OPTIONS  -- -f -bsize=4096 /dev/mapper/testvg-scratchdev
MOUNT_OPTIONS -- -o context=system_u:object_r:root_t:s0 /dev/mapper/testvg-scratchdev /mnt/scratch                                                                                            

generic/095 39s ...  30s
Ran: generic/095
Passed all 1 tests

If you still can reproduce this error with lastest fio, I think you can
use "--debug=io" agrument to get more informations, then CC fio people to take
a look?

Thanks,
Zorro

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