Message ID | 20210202062253.24478-1-zlang@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | generic/095: don't silence fio error output | expand |
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 >
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
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 >
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 > >
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 > > > >
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
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(-)