diff mbox series

[3/3] generic: IO_URING direct IO fsx test

Message ID 20200916171443.29546-4-zlang@redhat.com (mailing list archive)
State New, archived
Headers show
Series xfstests: add IO_URING test cases | expand

Commit Message

Zorro Lang Sept. 16, 2020, 5:14 p.m. UTC
After fsx supports IO_URING read/write, add IO_URING direct IO fsx
test with different read/write size and concurrent buffered IO.

Signed-off-by: Zorro Lang <zlang@redhat.com>
---
 tests/generic/610     | 52 +++++++++++++++++++++++++++++++++++++++++++
 tests/generic/610.out |  7 ++++++
 tests/generic/group   |  1 +
 3 files changed, 60 insertions(+)
 create mode 100755 tests/generic/610
 create mode 100644 tests/generic/610.out

Comments

Brian Foster Oct. 2, 2020, 6:20 p.m. UTC | #1
On Thu, Sep 17, 2020 at 01:14:43AM +0800, Zorro Lang wrote:
> After fsx supports IO_URING read/write, add IO_URING direct IO fsx
> test with different read/write size and concurrent buffered IO.
> 
> Signed-off-by: Zorro Lang <zlang@redhat.com>
> ---
>  tests/generic/610     | 52 +++++++++++++++++++++++++++++++++++++++++++
>  tests/generic/610.out |  7 ++++++
>  tests/generic/group   |  1 +
>  3 files changed, 60 insertions(+)
>  create mode 100755 tests/generic/610
>  create mode 100644 tests/generic/610.out
> 
> diff --git a/tests/generic/610 b/tests/generic/610
> new file mode 100755
> index 00000000..fc3f4c2a
> --- /dev/null
> +++ b/tests/generic/610
> @@ -0,0 +1,52 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2020 YOUR NAME HERE.  All Rights Reserved.

The copyright needs fixing.

> +#
> +# FS QA Test 610
> +#
> +# IO_URING direct IO fsx test
> +#
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1	# failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> +	cd /
> +	rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +
> +# remove previous $seqres.full before test
> +rm -f $seqres.full
> +
> +# real QA test starts here
> +_supported_fs generic
> +_supported_os Linux
> +_require_test
> +_require_odirect
> +_require_io_uring
> +
> +psize=`$here/src/feature -s`
> +bsize=`_min_dio_alignment $TEST_DEV`
> +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +run_fsx -S 0 -U -N 20000 -o 8192   -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +
> +# change readbdy/writebdy to double page size
> +psize=$((psize * 2))
> +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w PSIZE -Z -R -W
> +run_fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> +

Can you elaborate on why PSIZE/BSIZE are used where they are for the
writebdy option? Also is -R intentionally dropped from the final test?

Brian

> +# success, all done
> +status=0
> +exit
> diff --git a/tests/generic/610.out b/tests/generic/610.out
> new file mode 100644
> index 00000000..97ad41a3
> --- /dev/null
> +++ b/tests/generic/610.out
> @@ -0,0 +1,7 @@
> +QA output created by 610
> +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -o 8192 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> diff --git a/tests/generic/group b/tests/generic/group
> index cf50f4a1..60280dc2 100644
> --- a/tests/generic/group
> +++ b/tests/generic/group
> @@ -612,3 +612,4 @@
>  607 auto attr quick dax
>  608 auto attr quick dax
>  609 auto rw io_uring
> +610 auto rw io_uring
> -- 
> 2.20.1
>
Darrick J. Wong Oct. 5, 2020, 4:45 p.m. UTC | #2
On Thu, Sep 17, 2020 at 01:14:43AM +0800, Zorro Lang wrote:
> After fsx supports IO_URING read/write, add IO_URING direct IO fsx
> test with different read/write size and concurrent buffered IO.
> 
> Signed-off-by: Zorro Lang <zlang@redhat.com>

Funny, I would have expected this to be a clone of generic/521, much
like the previous test was a clone of g/522.  I guess it's fine to test
various fsx parameters, but in that case, is there a reason /not/ to
have a long soak io_uring directio test?

--D

> ---
>  tests/generic/610     | 52 +++++++++++++++++++++++++++++++++++++++++++
>  tests/generic/610.out |  7 ++++++
>  tests/generic/group   |  1 +
>  3 files changed, 60 insertions(+)
>  create mode 100755 tests/generic/610
>  create mode 100644 tests/generic/610.out
> 
> diff --git a/tests/generic/610 b/tests/generic/610
> new file mode 100755
> index 00000000..fc3f4c2a
> --- /dev/null
> +++ b/tests/generic/610
> @@ -0,0 +1,52 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (c) 2020 YOUR NAME HERE.  All Rights Reserved.
> +#
> +# FS QA Test 610
> +#
> +# IO_URING direct IO fsx test
> +#
> +seq=`basename $0`
> +seqres=$RESULT_DIR/$seq
> +echo "QA output created by $seq"
> +
> +here=`pwd`
> +tmp=/tmp/$$
> +status=1	# failure is the default!
> +trap "_cleanup; exit \$status" 0 1 2 3 15
> +
> +_cleanup()
> +{
> +	cd /
> +	rm -f $tmp.*
> +}
> +
> +# get standard environment, filters and checks
> +. ./common/rc
> +. ./common/filter
> +
> +# remove previous $seqres.full before test
> +rm -f $seqres.full
> +
> +# real QA test starts here
> +_supported_fs generic
> +_supported_os Linux
> +_require_test
> +_require_odirect
> +_require_io_uring
> +
> +psize=`$here/src/feature -s`
> +bsize=`_min_dio_alignment $TEST_DEV`
> +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +run_fsx -S 0 -U -N 20000 -o 8192   -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +
> +# change readbdy/writebdy to double page size
> +psize=$((psize * 2))
> +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w PSIZE -Z -R -W
> +run_fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> +
> +# success, all done
> +status=0
> +exit
> diff --git a/tests/generic/610.out b/tests/generic/610.out
> new file mode 100644
> index 00000000..97ad41a3
> --- /dev/null
> +++ b/tests/generic/610.out
> @@ -0,0 +1,7 @@
> +QA output created by 610
> +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -o 8192 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> diff --git a/tests/generic/group b/tests/generic/group
> index cf50f4a1..60280dc2 100644
> --- a/tests/generic/group
> +++ b/tests/generic/group
> @@ -612,3 +612,4 @@
>  607 auto attr quick dax
>  608 auto attr quick dax
>  609 auto rw io_uring
> +610 auto rw io_uring
> -- 
> 2.20.1
>
Zorro Lang Oct. 11, 2020, 12:15 p.m. UTC | #3
On Fri, Oct 02, 2020 at 02:20:31PM -0400, Brian Foster wrote:
> On Thu, Sep 17, 2020 at 01:14:43AM +0800, Zorro Lang wrote:
> > After fsx supports IO_URING read/write, add IO_URING direct IO fsx
> > test with different read/write size and concurrent buffered IO.
> > 
> > Signed-off-by: Zorro Lang <zlang@redhat.com>
> > ---
> >  tests/generic/610     | 52 +++++++++++++++++++++++++++++++++++++++++++
> >  tests/generic/610.out |  7 ++++++
> >  tests/generic/group   |  1 +
> >  3 files changed, 60 insertions(+)
> >  create mode 100755 tests/generic/610
> >  create mode 100644 tests/generic/610.out
> > 
> > diff --git a/tests/generic/610 b/tests/generic/610
> > new file mode 100755
> > index 00000000..fc3f4c2a
> > --- /dev/null
> > +++ b/tests/generic/610
> > @@ -0,0 +1,52 @@
> > +#! /bin/bash
> > +# SPDX-License-Identifier: GPL-2.0
> > +# Copyright (c) 2020 YOUR NAME HERE.  All Rights Reserved.
> 
> The copyright needs fixing.
> 
> > +#
> > +# FS QA Test 610
> > +#
> > +# IO_URING direct IO fsx test
> > +#
> > +seq=`basename $0`
> > +seqres=$RESULT_DIR/$seq
> > +echo "QA output created by $seq"
> > +
> > +here=`pwd`
> > +tmp=/tmp/$$
> > +status=1	# failure is the default!
> > +trap "_cleanup; exit \$status" 0 1 2 3 15
> > +
> > +_cleanup()
> > +{
> > +	cd /
> > +	rm -f $tmp.*
> > +}
> > +
> > +# get standard environment, filters and checks
> > +. ./common/rc
> > +. ./common/filter
> > +
> > +# remove previous $seqres.full before test
> > +rm -f $seqres.full
> > +
> > +# real QA test starts here
> > +_supported_fs generic
> > +_supported_os Linux
> > +_require_test
> > +_require_odirect
> > +_require_io_uring
> > +
> > +psize=`$here/src/feature -s`
> > +bsize=`_min_dio_alignment $TEST_DEV`
> > +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +run_fsx -S 0 -U -N 20000 -o 8192   -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +
> > +# change readbdy/writebdy to double page size
> > +psize=$((psize * 2))
> > +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > +run_fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> > +
> 
> Can you elaborate on why PSIZE/BSIZE are used where they are for the
> writebdy option? Also is -R intentionally dropped from the final test?

Sure:) This test is copied from generic/091.

> 
> Brian
> 
> > +# success, all done
> > +status=0
> > +exit
> > diff --git a/tests/generic/610.out b/tests/generic/610.out
> > new file mode 100644
> > index 00000000..97ad41a3
> > --- /dev/null
> > +++ b/tests/generic/610.out
> > @@ -0,0 +1,7 @@
> > +QA output created by 610
> > +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -o 8192 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> > diff --git a/tests/generic/group b/tests/generic/group
> > index cf50f4a1..60280dc2 100644
> > --- a/tests/generic/group
> > +++ b/tests/generic/group
> > @@ -612,3 +612,4 @@
> >  607 auto attr quick dax
> >  608 auto attr quick dax
> >  609 auto rw io_uring
> > +610 auto rw io_uring
> > -- 
> > 2.20.1
> >
Zorro Lang Oct. 11, 2020, 12:36 p.m. UTC | #4
On Mon, Oct 05, 2020 at 09:45:10AM -0700, Darrick J. Wong wrote:
> On Thu, Sep 17, 2020 at 01:14:43AM +0800, Zorro Lang wrote:
> > After fsx supports IO_URING read/write, add IO_URING direct IO fsx
> > test with different read/write size and concurrent buffered IO.
> > 
> > Signed-off-by: Zorro Lang <zlang@redhat.com>
> 
> Funny, I would have expected this to be a clone of generic/521, much
> like the previous test was a clone of g/522.  I guess it's fine to test
> various fsx parameters, but in that case, is there a reason /not/ to
> have a long soak io_uring directio test?

This case is copied from generic/091 :) Even the previous test was a clone
of g/522, but I reduce the default test time. The g/521 and g/522 takes too long
time, I'd like to have io_uring buffer and direct IO basic test cases which
doesn't take long time at first. From this side, I think g/091 does more test :-p

Thanks,
Zorro

> 
> --D
> 
> > ---
> >  tests/generic/610     | 52 +++++++++++++++++++++++++++++++++++++++++++
> >  tests/generic/610.out |  7 ++++++
> >  tests/generic/group   |  1 +
> >  3 files changed, 60 insertions(+)
> >  create mode 100755 tests/generic/610
> >  create mode 100644 tests/generic/610.out
> > 
> > diff --git a/tests/generic/610 b/tests/generic/610
> > new file mode 100755
> > index 00000000..fc3f4c2a
> > --- /dev/null
> > +++ b/tests/generic/610
> > @@ -0,0 +1,52 @@
> > +#! /bin/bash
> > +# SPDX-License-Identifier: GPL-2.0
> > +# Copyright (c) 2020 YOUR NAME HERE.  All Rights Reserved.
> > +#
> > +# FS QA Test 610
> > +#
> > +# IO_URING direct IO fsx test
> > +#
> > +seq=`basename $0`
> > +seqres=$RESULT_DIR/$seq
> > +echo "QA output created by $seq"
> > +
> > +here=`pwd`
> > +tmp=/tmp/$$
> > +status=1	# failure is the default!
> > +trap "_cleanup; exit \$status" 0 1 2 3 15
> > +
> > +_cleanup()
> > +{
> > +	cd /
> > +	rm -f $tmp.*
> > +}
> > +
> > +# get standard environment, filters and checks
> > +. ./common/rc
> > +. ./common/filter
> > +
> > +# remove previous $seqres.full before test
> > +rm -f $seqres.full
> > +
> > +# real QA test starts here
> > +_supported_fs generic
> > +_supported_os Linux
> > +_require_test
> > +_require_odirect
> > +_require_io_uring
> > +
> > +psize=`$here/src/feature -s`
> > +bsize=`_min_dio_alignment $TEST_DEV`
> > +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +run_fsx -S 0 -U -N 20000 -o 8192   -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +
> > +# change readbdy/writebdy to double page size
> > +psize=$((psize * 2))
> > +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > +run_fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> > +
> > +# success, all done
> > +status=0
> > +exit
> > diff --git a/tests/generic/610.out b/tests/generic/610.out
> > new file mode 100644
> > index 00000000..97ad41a3
> > --- /dev/null
> > +++ b/tests/generic/610.out
> > @@ -0,0 +1,7 @@
> > +QA output created by 610
> > +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -o 8192 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> > diff --git a/tests/generic/group b/tests/generic/group
> > index cf50f4a1..60280dc2 100644
> > --- a/tests/generic/group
> > +++ b/tests/generic/group
> > @@ -612,3 +612,4 @@
> >  607 auto attr quick dax
> >  608 auto attr quick dax
> >  609 auto rw io_uring
> > +610 auto rw io_uring
> > -- 
> > 2.20.1
> > 
>
Brian Foster Oct. 12, 2020, 5:55 p.m. UTC | #5
On Sun, Oct 11, 2020 at 08:15:20PM +0800, Zorro Lang wrote:
> On Fri, Oct 02, 2020 at 02:20:31PM -0400, Brian Foster wrote:
> > On Thu, Sep 17, 2020 at 01:14:43AM +0800, Zorro Lang wrote:
> > > After fsx supports IO_URING read/write, add IO_URING direct IO fsx
> > > test with different read/write size and concurrent buffered IO.
> > > 
> > > Signed-off-by: Zorro Lang <zlang@redhat.com>
> > > ---
> > >  tests/generic/610     | 52 +++++++++++++++++++++++++++++++++++++++++++
> > >  tests/generic/610.out |  7 ++++++
> > >  tests/generic/group   |  1 +
> > >  3 files changed, 60 insertions(+)
> > >  create mode 100755 tests/generic/610
> > >  create mode 100644 tests/generic/610.out
> > > 
> > > diff --git a/tests/generic/610 b/tests/generic/610
> > > new file mode 100755
> > > index 00000000..fc3f4c2a
> > > --- /dev/null
> > > +++ b/tests/generic/610
> > > @@ -0,0 +1,52 @@
> > > +#! /bin/bash
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +# Copyright (c) 2020 YOUR NAME HERE.  All Rights Reserved.
> > 
> > The copyright needs fixing.
> > 
> > > +#
> > > +# FS QA Test 610
> > > +#
> > > +# IO_URING direct IO fsx test
> > > +#
> > > +seq=`basename $0`
> > > +seqres=$RESULT_DIR/$seq
> > > +echo "QA output created by $seq"
> > > +
> > > +here=`pwd`
> > > +tmp=/tmp/$$
> > > +status=1	# failure is the default!
> > > +trap "_cleanup; exit \$status" 0 1 2 3 15
> > > +
> > > +_cleanup()
> > > +{
> > > +	cd /
> > > +	rm -f $tmp.*
> > > +}
> > > +
> > > +# get standard environment, filters and checks
> > > +. ./common/rc
> > > +. ./common/filter
> > > +
> > > +# remove previous $seqres.full before test
> > > +rm -f $seqres.full
> > > +
> > > +# real QA test starts here
> > > +_supported_fs generic
> > > +_supported_os Linux
> > > +_require_test
> > > +_require_odirect
> > > +_require_io_uring
> > > +
> > > +psize=`$here/src/feature -s`
> > > +bsize=`_min_dio_alignment $TEST_DEV`
> > > +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +run_fsx -S 0 -U -N 20000 -o 8192   -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +
> > > +# change readbdy/writebdy to double page size
> > > +psize=$((psize * 2))
> > > +run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > > +run_fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > > +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> > > +
> > 
> > Can you elaborate on why PSIZE/BSIZE are used where they are for the
> > writebdy option? Also is -R intentionally dropped from the final test?
> 
> Sure:) This test is copied from generic/091.
> 

Hmm.. but generic/091 doesn't seem to use the same values and always
passes a writebdy of BSIZE (at least for the tests that aren't commented
out). It kind of looks like this tweaks some values across the board,
then randomly selects some of the commented and non-commented test
commands without any explanation.

Brian

> > 
> > Brian
> > 
> > > +# success, all done
> > > +status=0
> > > +exit
> > > diff --git a/tests/generic/610.out b/tests/generic/610.out
> > > new file mode 100644
> > > index 00000000..97ad41a3
> > > --- /dev/null
> > > +++ b/tests/generic/610.out
> > > @@ -0,0 +1,7 @@
> > > +QA output created by 610
> > > +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -o 8192 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> > > diff --git a/tests/generic/group b/tests/generic/group
> > > index cf50f4a1..60280dc2 100644
> > > --- a/tests/generic/group
> > > +++ b/tests/generic/group
> > > @@ -612,3 +612,4 @@
> > >  607 auto attr quick dax
> > >  608 auto attr quick dax
> > >  609 auto rw io_uring
> > > +610 auto rw io_uring
> > > -- 
> > > 2.20.1
> > > 
>
diff mbox series

Patch

diff --git a/tests/generic/610 b/tests/generic/610
new file mode 100755
index 00000000..fc3f4c2a
--- /dev/null
+++ b/tests/generic/610
@@ -0,0 +1,52 @@ 
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2020 YOUR NAME HERE.  All Rights Reserved.
+#
+# FS QA Test 610
+#
+# IO_URING direct IO fsx test
+#
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1	# failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+	cd /
+	rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+
+# remove previous $seqres.full before test
+rm -f $seqres.full
+
+# real QA test starts here
+_supported_fs generic
+_supported_os Linux
+_require_test
+_require_odirect
+_require_io_uring
+
+psize=`$here/src/feature -s`
+bsize=`_min_dio_alignment $TEST_DEV`
+run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w BSIZE -Z -R -W
+run_fsx -S 0 -U -N 20000 -o 8192   -l 600000 -r PSIZE -w BSIZE -Z -R -W
+run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
+
+# change readbdy/writebdy to double page size
+psize=$((psize * 2))
+run_fsx -S 0 -U -N 20000           -l 600000 -r PSIZE -w PSIZE -Z -R -W
+run_fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
+run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
+
+# success, all done
+status=0
+exit
diff --git a/tests/generic/610.out b/tests/generic/610.out
new file mode 100644
index 00000000..97ad41a3
--- /dev/null
+++ b/tests/generic/610.out
@@ -0,0 +1,7 @@ 
+QA output created by 610
+fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
+fsx -S 0 -U -N 20000 -o 8192 -l 600000 -r PSIZE -w BSIZE -Z -R -W
+fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
+fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
+fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
+fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
diff --git a/tests/generic/group b/tests/generic/group
index cf50f4a1..60280dc2 100644
--- a/tests/generic/group
+++ b/tests/generic/group
@@ -612,3 +612,4 @@ 
 607 auto attr quick dax
 608 auto attr quick dax
 609 auto rw io_uring
+610 auto rw io_uring