All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] generic/095: don't silence fio error output
@ 2021-02-02  6:22 Zorro Lang
  2021-02-03 16:22 ` Brian Foster
  2021-03-14 11:36 ` Eryu Guan
  0 siblings, 2 replies; 6+ messages in thread
From: Zorro Lang @ 2021-02-02  6:22 UTC (permalink / raw)
  To: fstests

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@redhat.com>
---
 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
 echo "Silence is golden"
-$FIO_PROG $fio_config >>$seqres.full 2>&1
 
 # 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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic/095: don't silence fio error output
  2021-02-02  6:22 [PATCH] generic/095: don't silence fio error output Zorro Lang
@ 2021-02-03 16:22 ` Brian Foster
  2021-03-14 11:36 ` Eryu Guan
  1 sibling, 0 replies; 6+ messages in thread
From: Brian Foster @ 2021-02-03 16:22 UTC (permalink / raw)
  To: Zorro Lang; +Cc: fstests

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@redhat.com>
> ---

Seems reasonable:

Reviewed-by: Brian Foster <bfoster@redhat.com>

>  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
>  echo "Silence is golden"
> -$FIO_PROG $fio_config >>$seqres.full 2>&1
>  
>  # 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
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic/095: don't silence fio error output
  2021-02-02  6:22 [PATCH] generic/095: don't silence fio error output Zorro Lang
  2021-02-03 16:22 ` Brian Foster
@ 2021-03-14 11:36 ` Eryu Guan
  2021-03-14 15:49   ` Zorro Lang
  1 sibling, 1 reply; 6+ messages in thread
From: Eryu Guan @ 2021-03-14 11:36 UTC (permalink / raw)
  To: Zorro Lang; +Cc: fstests

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@redhat.com>
> ---
>  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.

Thanks,
Eryu

>  echo "Silence is golden"
> -$FIO_PROG $fio_config >>$seqres.full 2>&1
>  
>  # 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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic/095: don't silence fio error output
  2021-03-14 11:36 ` Eryu Guan
@ 2021-03-14 15:49   ` Zorro Lang
  2021-03-14 16:02     ` Eryu Guan
  0 siblings, 1 reply; 6+ messages in thread
From: Zorro Lang @ 2021-03-14 15:49 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests

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@redhat.com>
> > ---
> >  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

Thanks,
Zorro

> 
> Thanks,
> Eryu
> 
> >  echo "Silence is golden"
> > -$FIO_PROG $fio_config >>$seqres.full 2>&1
> >  
> >  # 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
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic/095: don't silence fio error output
  2021-03-14 15:49   ` Zorro Lang
@ 2021-03-14 16:02     ` Eryu Guan
  2021-03-15  0:56       ` Zorro Lang
  0 siblings, 1 reply; 6+ messages in thread
From: Eryu Guan @ 2021-03-14 16:02 UTC (permalink / raw)
  To: zlang; +Cc: fstests

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@redhat.com>
> > > ---
> > >  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
> > 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] generic/095: don't silence fio error output
  2021-03-14 16:02     ` Eryu Guan
@ 2021-03-15  0:56       ` Zorro Lang
  0 siblings, 0 replies; 6+ messages in thread
From: Zorro Lang @ 2021-03-15  0:56 UTC (permalink / raw)
  To: Eryu Guan; +Cc: fstests

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@redhat.com>
> > > > ---
> > > >  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
> > > 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-03-15  0:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-02  6:22 [PATCH] generic/095: don't silence fio error output Zorro Lang
2021-02-03 16:22 ` Brian Foster
2021-03-14 11:36 ` Eryu Guan
2021-03-14 15:49   ` Zorro Lang
2021-03-14 16:02     ` Eryu Guan
2021-03-15  0:56       ` Zorro Lang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.