for l in 0 1 2 3 4
do
echo " *** test $l"
- $FSSTRESS_PROG -d $SCRATCH_MNT -n 1000 $FSSTRESS_AVOID >>$seq.full
+ FSSTRESS_ARGS=`_scale_fsstress_args -d $SCRATCH_MNT -n 1000 $FSSTRESS_AVOID`
+ $FSSTRESS_PROG $FSSTRESS_ARGS >>$seq.full
_scratch_mount -o remount,ro \
|| _fail "remount ro failed"
do
# We do both read & write IO - not only is this more realistic,
# but it also potentially tests atime updates
- $FSSTRESS_PROG -d $STRESS_DIR -p $procs -n $nops $FSSTRESS_AVOID \
- > /dev/null 2>&1
+ FSSTRESS_ARGS=`_scale_fsstress_args -d $STRESS_DIR -p $procs -n $nops $FSSTRESS_AVOID`
+ $FSSTRESS_PROG $FSSTRESS_ARGS > /dev/null 2>&1
done
rm -r $STRESS_DIR/*
_setup_testdir
-$FSSTRESS_PROG \
+FSSTRESS_ARGS=`_scale_fsstress_args \
-d $testdir/fsstress \
-f allocsp=0 \
-f freesp=0 \
-f unresvsp=0 \
-f attr_set=100 \
-f attr_remove=100 \
- -p 1 -n 10000 -S c >$seq.full 2>&1
+ -p 1 -n 10000 -S c`
+$FSSTRESS_PROG $FSSTRESS_ARGS >$seq.full 2>&1
status=$?
exit
cat $SCRATCH_DEV >/dev/null &
pid=$!
-$FSSTRESS_PROG -d $SCRATCH_MNT -p 2 -n 2000 $FSSTRESS_AVOID >>$seq.full
-
+FSSTRESS_ARGS=`_scale_fsstress_args -p 2 -n 2000 $FSSTRESS_AVOID`
+echo "run fsstress with args: $FSSTRESS_ARGS" >>$seq.full
+$FSSTRESS_PROG $FSSTRESS_ARGS >>$seq.full
_lets_get_pidst
_check_scratch_fs
|| _fail "mount failed"
# -w ensures that the only ops are ones which cause write I/O
- $FSSTRESS_PROG -d $SCRATCH_MNT -w -p $procs -n $nops $FSSTRESS_AVOID \
- >>$seq.full
+ FSSTRESS_ARGS=`_scale_fsstress_args -d $SCRATCH_MNT -w -p $procs -n $nops $FSSTRESS_AVOID`
+ $FSSTRESS_PROG $FSSTRESS_ARGS >>$seq.full
_check_scratch_fs
}
param="-p 4 -z -f rmdir=10 -f link=10 -f creat=10 -f mkdir=10 \
-f rename=30 -f stat=30 -f unlink=30 -f truncate=20"
_echofull "calling fsstress $param -m8 -n $count"
- if ! $FSSTRESS_PROG $param $FSSTRESS_AVOID -m 8 -n $count -d $out >>$seq.full 2>&1
+ FSSTRESS_ARGS=`_scale_fsstress_args $param $FSSTRESS_AVOID -m 8 -n $count -d $out`
+ if ! $FSSTRESS_PROG $FSSTRESS_ARGS >>$seq.full 2>&1
then
_echofull "fsstress failed"
fi
procs=3
nops=1000
# -w ensures that the only ops are ones which cause write I/O
- $FSSTRESS_PROG -d $SCRATCH_MNT -w -p $procs -n $nops $FSSTRESS_AVOID > /dev/null &
+ FSSTRESS_ARGS=`_scale_fsstress_args -d $SCRATCH_MNT -w -p $procs \
+ -n $nops $FSSTRESS_AVOID`
+ $FSSTRESS_PROG $FSSTRESS_ARGS >> $seq.full &
}
# real QA test starts here
out=$SCRATCH_MNT/fsstress.$$
count=1000
- args="-z \
+ args=`_scale_fsstress_args -z \
-f rmdir=10 -f link=10 -f creat=10 \
-f mkdir=10 -f rename=30 -f unlink=10 \
-f symlink=10 \
--n $count -d $out -p 3"
+-n $count -d $out -p 3`
echo "fsstress $args" | sed -e "s#$out#outdir#"
if ! $FSSTRESS_PROG $args | _filter_num
{
procs=100
nops=15000
- $FSSTRESS_PROG -d $SCRATCH_MNT -p $procs -n $nops $FSSTRESS_AVOID \
- >>$seq.full &
+ FSSTRESS_ARGS=`_scale_fsstress_args -d $SCRATCH_MNT -p $procs -n $nops \
+ $FSSTRESS_AVOID`
+ $FSSTRESS_PROG $FSSTRESS_ARGS >> $seq.full &
sleep 2
}
out=$SCRATCH_MNT/fsstress.$$
count=2000
- args="-n $count -d $out -p 7"
+ args=`_scale_fsstress_args -d $out -n $count -p 7`
- echo "fsstress $args" | tee -a $here/$seq.full | sed -e "s#$out#outdir#"
+ echo "fsstress $args" >> tee -a $here/$seq.full
if ! $FSSTRESS_PROG $args | tee -a $here/$seq.full | _filter_num
then
echo " fsstress $args returned $?"
Testing fsstress
-fsstress -n 2000 -d outdir -p 7
seed = S
Comparing user usage
Comparing group usage
out=$SCRATCH_MNT/fsstress.$$
count=5000
- args="-z \
+ args=`_scale_fsstress_args -z \
-f rmdir=20 -f link=10 -f creat=10 -f mkdir=10 -f unlink=20 -f symlink=10 \
-f rename=10 -f fsync=2 -f write=15 -f dwrite=15 \
--n $count -d $out -p 7"
+-n $count -d $out -p 7`
- echo "fsstress $args" | tee -a $here/$seq.full | sed -e "s#$out#outdir#"
+ echo "fsstress $args" >> tee -a $here/$seq.full
if ! su $qa_user -c "$FSSTRESS_PROG $args" | tee -a $here/$seq.full | _filter_num
then
echo " fsstress $args returned $?"
Testing fsstress
-fsstress -z -f rmdir=20 -f link=10 -f creat=10 -f mkdir=10 -f unlink=20 -f symlink=10 -f rename=10 -f fsync=2 -f write=15 -f dwrite=15 -n 5000 -d outdir -p 7
seed = S
Comparing user usage
Comparing group usage
num_iterations=10
enospc_time=2
out=$SCRATCH_MNT/fsstress.$$
- args="-p128 -n999999999 -f setattr=1 $FSSTRESS_AVOID -d $out"
+ args=`_scale_fsstress_args -p128 -n999999999 -f setattr=1 $FSSTRESS_AVOID -d $out`
echo "fsstress $args" >> $here/$seq.full
$FSSTRESS_PROG $args > /dev/null 2>&1 &
pid=$!
num_iterations=10
enospc_time=2
out=$SCRATCH_MNT/fsstress.$$
- args="-p128 -n999999999 -f setattr=1 $FSSTRESS_AVOID -d $out"
+ args=`_scale_fsstress_args -p128 -n999999999 -f setattr=1 $FSSTRESS_AVOID -d $out`
echo "fsstress $args" >> $here/$seq.full
# Grant chown capability
cp $FSSTRESS_PROG $tmp.fsstress.bin
losetup -d $dev || _fail "Cannot destroy loop device $dev"
}
+_scale_fsstress_args()
+{
+ args=""
+ while [ $# -gt 0 ]; do
+ case "$1" in
+ -n) args="$args $1 $(($2 * $TIME_FACTOR))"; shift ;;
+ -p) args="$args $1 $(($2 * $LOAD_FACTOR))"; shift ;;
+ *) args="$args $1" ;;
+ esac
+ shift
+ done
+ echo $args
+}
+
################################################################################
if [ "$iam" != new -a "$iam" != bench ]
014 rw udf auto quick
015 other auto quick
016 rw auto quick
-017 mount auto quick
+017 mount auto quick stress
018 deprecated # log logprint v2log
019 mkfs auto quick
020 metadata attr udf auto quick
065 dump auto
066 dump ioctl auto quick
067 acl attr auto quick
-068 other auto freeze dangerous
+068 other auto freeze dangerous stress
069 rw udf auto quick
-070 attr udf auto quick
+070 attr udf auto quick stress
071 rw auto
072 rw auto prealloc quick
073 copy auto
074 rw udf auto
075 rw udf auto quick
-076 metadata rw udf auto quick
+076 metadata rw udf auto quick stress
077 acl attr auto enospc
078 growfs auto quick
079 acl attr ioctl metadata auto quick
080 rw ioctl
081 deprecated # log logprint quota
082 deprecated # log logprint v2log
-083 rw auto
+083 rw auto enospc stress
084 ioctl rw auto
085 log auto quick
086 log v2log auto
-087 log v2log auto quota
+087 log v2log auto quota stress
088 perms auto quick
089 metadata auto
090 rw auto
101 udf
102 udf
103 metadata dir ioctl auto quick
-104 growfs ioctl prealloc auto
+104 growfs ioctl prealloc auto stress
105 acl auto quick
106 quota
107 quota
111 ioctl
112 rw aio auto quick
113 rw aio auto quick
-114 parent attr
+114 parent attr stress
115 parent attr
116 quota auto quick
117 attr auto quick
164 rw pattern auto prealloc quick
165 rw pattern auto prealloc quick
166 rw metadata auto quick
-167 rw metadata auto
+167 rw metadata auto stress
168 dmapi auto
169 rw metadata auto quick
170 rw filestreams auto quick
229 auto rw
230 auto quota quick
231 auto quota
-232 auto quota
-233 auto quota
+232 auto quota stress
+233 auto quota stress
234 auto quota
235 auto quota quick
236 auto quick metadata
266 dump ioctl auto quick
267 dump ioctl tape
268 dump ioctl tape
-269 auto rw prealloc ioctl enospc
-270 auto quota rw prealloc ioctl enospc
+269 auto rw prealloc ioctl enospc stress
+270 auto quota rw prealloc ioctl enospc stress
271 auto rw quick
272 auto enospc rw
273 auto rw