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