Message ID | 20161222164310.9615-1-tytso@mit.edu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Dec 22, 2016 at 6:43 PM, Theodore Ts'o <tytso@mit.edu> wrote: > Introduce a test which runs fsstress on the top and bottom overlayfs > directories simultaneously to find potential races that plagued wrapfs > derived file systems. > > Signed-off-by: Theodore Ts'o <tytso@mit.edu> > --- > tests/overlay/019 | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ > tests/overlay/019.out | 2 ++ > tests/overlay/group | 1 + > 3 files changed, 84 insertions(+) > create mode 100644 tests/overlay/019 > create mode 100644 tests/overlay/019.out > > diff --git a/tests/overlay/019 b/tests/overlay/019 > new file mode 100644 > index 00000000..1daf830f > --- /dev/null > +++ b/tests/overlay/019 > @@ -0,0 +1,81 @@ > +#! /bin/bash > +# FS QA Test 019 > +# > +# Run fsstress on lower dir and top dir at the same time > +# > + > +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 overlay > +_supported_os Linux > +_require_scratch > + > +# Remove all files from previous tests > +_scratch_mkfs > + > +lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR > +mkdir -p $lowerdir > + > +_scratch_mount > + > +echo "Silence is golden" > + > +d_low=$lowerdir/fsstress > +d_top=$SCRATCH_MNT/fsstress > +mkdir -p $d_low $d_top > + > +echo $FSSTRESS_PROG -s 42 -d $d_low -p 4 -n 1000 -l100 -v > $seqres.full.1 > +$FSSTRESS_PROG -s 42 -d $d_low -p 4 -n 1000 -l100 -v >> $seqres.full.1 2>&1 & > + > +echo $FSSTRESS_PROG -s 42 -d $d_top -p 4 -n 1000 -l100 -v > $seqres.full.2 > +$FSSTRESS_PROG -s 42 -d $d_top -p 4 -n 1000 -l100 -v >> $seqres.full.2 2>&1 & > + > +ret=0 > +if ! wait %1 > +then > + echo "--------------------------------------" >>$seqres.full.1 > + echo "fsstress on lower directory returned $? - see $seqres.full.1" > + echo "--------------------------------------" >>$seqres.full.1 > + ret=1 > +fi > + > +if ! wait %2 > +then > + echo "--------------------------------------" >>$seqres.full.2 > + echo "fsstress on overlay directory returned $? - see $seqres.full.2" > + echo "--------------------------------------" >>$seqres.full.2 > + ret=1 > +fi > + > +cat $seqres.full.1 $seqres.full.2 > $seqres.full > +rm $seqres.full.1 $seqres.full.2 > + > +if [ "$ret" -eq 1 ] > +then > + status=1 > +else > + status=0 > +fi > + > +exit $status > diff --git a/tests/overlay/019.out b/tests/overlay/019.out > new file mode 100644 > index 00000000..163484bc > --- /dev/null > +++ b/tests/overlay/019.out > @@ -0,0 +1,2 @@ > +QA output created by 019 > +Silence is golden > diff --git a/tests/overlay/group b/tests/overlay/group > index 74822cbf..f8de84be 100644 > --- a/tests/overlay/group > +++ b/tests/overlay/group > @@ -21,3 +21,4 @@ > 016 auto quick copyup > 017 auto quick copyup > 018 auto quick copyup > +019 quick stress You probably meant: 019 auto stress -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/tests/overlay/019 b/tests/overlay/019 new file mode 100644 index 00000000..1daf830f --- /dev/null +++ b/tests/overlay/019 @@ -0,0 +1,81 @@ +#! /bin/bash +# FS QA Test 019 +# +# Run fsstress on lower dir and top dir at the same time +# + +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 overlay +_supported_os Linux +_require_scratch + +# Remove all files from previous tests +_scratch_mkfs + +lowerdir=$SCRATCH_DEV/$OVERLAY_LOWER_DIR +mkdir -p $lowerdir + +_scratch_mount + +echo "Silence is golden" + +d_low=$lowerdir/fsstress +d_top=$SCRATCH_MNT/fsstress +mkdir -p $d_low $d_top + +echo $FSSTRESS_PROG -s 42 -d $d_low -p 4 -n 1000 -l100 -v > $seqres.full.1 +$FSSTRESS_PROG -s 42 -d $d_low -p 4 -n 1000 -l100 -v >> $seqres.full.1 2>&1 & + +echo $FSSTRESS_PROG -s 42 -d $d_top -p 4 -n 1000 -l100 -v > $seqres.full.2 +$FSSTRESS_PROG -s 42 -d $d_top -p 4 -n 1000 -l100 -v >> $seqres.full.2 2>&1 & + +ret=0 +if ! wait %1 +then + echo "--------------------------------------" >>$seqres.full.1 + echo "fsstress on lower directory returned $? - see $seqres.full.1" + echo "--------------------------------------" >>$seqres.full.1 + ret=1 +fi + +if ! wait %2 +then + echo "--------------------------------------" >>$seqres.full.2 + echo "fsstress on overlay directory returned $? - see $seqres.full.2" + echo "--------------------------------------" >>$seqres.full.2 + ret=1 +fi + +cat $seqres.full.1 $seqres.full.2 > $seqres.full +rm $seqres.full.1 $seqres.full.2 + +if [ "$ret" -eq 1 ] +then + status=1 +else + status=0 +fi + +exit $status diff --git a/tests/overlay/019.out b/tests/overlay/019.out new file mode 100644 index 00000000..163484bc --- /dev/null +++ b/tests/overlay/019.out @@ -0,0 +1,2 @@ +QA output created by 019 +Silence is golden diff --git a/tests/overlay/group b/tests/overlay/group index 74822cbf..f8de84be 100644 --- a/tests/overlay/group +++ b/tests/overlay/group @@ -21,3 +21,4 @@ 016 auto quick copyup 017 auto quick copyup 018 auto quick copyup +019 quick stress
Introduce a test which runs fsstress on the top and bottom overlayfs directories simultaneously to find potential races that plagued wrapfs derived file systems. Signed-off-by: Theodore Ts'o <tytso@mit.edu> --- tests/overlay/019 | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ tests/overlay/019.out | 2 ++ tests/overlay/group | 1 + 3 files changed, 84 insertions(+) create mode 100644 tests/overlay/019 create mode 100644 tests/overlay/019.out