mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
generic: don't put loop control files on the scratch mount
If we're doing write/overwrite/snapshot/resource exhaustion tests on the scratch device, use the test directory to hold the loop termination signal files. This way we don't run infinitely because we can't create the flag due to ENOSPC. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
committed by
Eryu Guan
parent
b5e26de924
commit
478f75b0d0
+5
-3
@@ -33,7 +33,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -51,6 +51,8 @@ _scratch_mkfs > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=512
|
||||
@@ -64,7 +66,7 @@ _pwrite_byte 0x61 0 $((loops * blksz)) $testdir/file2 >> $seqres.full
|
||||
_scratch_cycle_mount
|
||||
|
||||
overwrite() {
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
seq $nr_loops -1 0 | while read i; do
|
||||
_pwrite_byte 0x61 $((i * blksz)) $blksz $testdir/file2 >> $seqres.full
|
||||
done
|
||||
@@ -81,7 +83,7 @@ for i in `seq 1 2`; do
|
||||
done
|
||||
done
|
||||
echo "Finished dedupeing"
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+5
-3
@@ -33,7 +33,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -51,6 +51,8 @@ _scratch_mkfs > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=512
|
||||
@@ -64,7 +66,7 @@ _pwrite_byte 0x61 0 $((loops * blksz)) $testdir/file2 >> $seqres.full
|
||||
_scratch_cycle_mount
|
||||
|
||||
overwrite() {
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
seq $nr_loops -1 0 | while read i; do
|
||||
_pwrite_byte 0x61 $((i * blksz)) $blksz $testdir/file1 >> $seqres.full
|
||||
done
|
||||
@@ -81,7 +83,7 @@ for i in `seq 1 2`; do
|
||||
done
|
||||
done
|
||||
echo "Finished dedupeing"
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+5
-3
@@ -34,7 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -53,6 +53,8 @@ _scratch_mkfs > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=512
|
||||
@@ -71,7 +73,7 @@ fbytes() {
|
||||
}
|
||||
|
||||
reader() {
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
_read_range $testdir/file3 0 $((loops * blksz)) | fbytes
|
||||
done
|
||||
}
|
||||
@@ -91,7 +93,7 @@ for i in `seq 1 2`; do
|
||||
done
|
||||
done
|
||||
echo "Finished reflinking"
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+5
-3
@@ -34,7 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -54,6 +54,8 @@ _scratch_mkfs > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=512
|
||||
@@ -72,7 +74,7 @@ fbytes() {
|
||||
}
|
||||
|
||||
reader() {
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
_read_range $testdir/file3 0 $((loops * blksz)) -d | fbytes
|
||||
done
|
||||
}
|
||||
@@ -92,7 +94,7 @@ for i in `seq 1 2`; do
|
||||
done
|
||||
done
|
||||
echo "Finished reflinking"
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+5
-3
@@ -34,7 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -54,6 +54,8 @@ _scratch_mkfs > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=1024
|
||||
@@ -68,7 +70,7 @@ _scratch_cycle_mount
|
||||
# Snapshot creator...
|
||||
snappy() {
|
||||
n=0
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
out="$(_cp_reflink $testdir/file1 $testdir/snap_$n 2>&1)"
|
||||
res=$?
|
||||
echo "$out" | grep -q "No space left" && break
|
||||
@@ -83,7 +85,7 @@ snappy &
|
||||
seq $nr_loops -1 0 | while read i; do
|
||||
_pwrite_byte 0x63 $((i * blksz)) $blksz -d $testdir/file1 >> $seqres.full
|
||||
done
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+5
-3
@@ -34,7 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -53,6 +53,8 @@ _scratch_mkfs > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=1024
|
||||
@@ -67,7 +69,7 @@ _scratch_cycle_mount
|
||||
# Snapshot creator...
|
||||
snappy() {
|
||||
n=0
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
out="$(_cp_reflink $testdir/file1 $testdir/snap_$n 2>&1)"
|
||||
res=$?
|
||||
echo "$out" | grep -q "No space left" && break
|
||||
@@ -82,7 +84,7 @@ snappy &
|
||||
seq $nr_loops -1 0 | while read i; do
|
||||
_pwrite_byte 0x63 $((i * blksz)) $blksz $testdir/file1 >> $seqres.full
|
||||
done
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+5
-3
@@ -34,7 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -52,6 +52,8 @@ _scratch_mkfs > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=1024
|
||||
@@ -66,7 +68,7 @@ _scratch_cycle_mount
|
||||
|
||||
# Direct I/O overwriter...
|
||||
overwrite() {
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
seq $nr_loops -1 0 | while read i; do
|
||||
_pwrite_byte 0x63 $((i * blksz)) $blksz $testdir/file2 >> $seqres.full
|
||||
done
|
||||
@@ -82,7 +84,7 @@ seq 1 10 | while read j; do
|
||||
[ $? -ne 0 ] && exit
|
||||
done
|
||||
done
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+5
-3
@@ -34,7 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -53,6 +53,8 @@ _scratch_mkfs > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=1024
|
||||
@@ -67,7 +69,7 @@ _scratch_cycle_mount
|
||||
|
||||
# Direct I/O overwriter...
|
||||
overwrite() {
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
seq $nr_loops -1 0 | while read i; do
|
||||
_pwrite_byte 0x63 $((i * blksz)) $blksz -d $testdir/file2 >> $seqres.full
|
||||
done
|
||||
@@ -83,7 +85,7 @@ seq 1 10 | while read j; do
|
||||
[ $? -ne 0 ] && exit
|
||||
done
|
||||
done
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+12
-8
@@ -34,7 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file $abort_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -54,6 +54,10 @@ _scratch_mkfs_sized $((400 * 1048576)) > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
abort_file=/tmp/abort
|
||||
rm -rf $abort_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=1024
|
||||
@@ -68,7 +72,7 @@ _scratch_cycle_mount
|
||||
# Snapshot creator...
|
||||
snappy() {
|
||||
n=0
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
out="$(_cp_reflink $testdir/file1 $testdir/snap_$n 2>&1)"
|
||||
res=$?
|
||||
echo $out | grep -q "No space left" && break
|
||||
@@ -76,7 +80,7 @@ snappy() {
|
||||
test $res -ne 0 && break
|
||||
n=$((n + 1))
|
||||
done
|
||||
touch $testdir/abort
|
||||
touch $abort_file
|
||||
}
|
||||
|
||||
echo "Snapshot a file undergoing directio rewrite"
|
||||
@@ -85,13 +89,13 @@ seq 1 1000 | while read j; do
|
||||
seq $nr_loops -1 0 | while read i; do
|
||||
out="$(_pwrite_byte 0x63 $((i * blksz)) $blksz -d $testdir/file1 2>&1)"
|
||||
echo $out >> $seqres.full
|
||||
echo $out | grep -q "No space left" && touch $testdir/abort
|
||||
echo $out | grep -qi "error" && touch $testdir/abort
|
||||
test -e $testdir/abort && break
|
||||
echo $out | grep -q "No space left" && touch $abort_file
|
||||
echo $out | grep -qi "error" && touch $abort_file
|
||||
test -e $abort_file && break
|
||||
done
|
||||
test -e $testdir/abort && break
|
||||
test -e $abort_file && break
|
||||
done
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
+12
-8
@@ -34,7 +34,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 7 15
|
||||
_cleanup()
|
||||
{
|
||||
cd /
|
||||
rm -rf $tmp.*
|
||||
rm -rf $tmp.* $finished_file $abort_file
|
||||
wait
|
||||
}
|
||||
|
||||
@@ -53,6 +53,10 @@ _scratch_mkfs_sized $((400 * 1048576)) > $seqres.full 2>&1
|
||||
_scratch_mount >> $seqres.full 2>&1
|
||||
|
||||
testdir=$SCRATCH_MNT/test-$seq
|
||||
finished_file=/tmp/finished
|
||||
rm -rf $finished_file
|
||||
abort_file=/tmp/abort
|
||||
rm -rf $abort_file
|
||||
mkdir $testdir
|
||||
|
||||
loops=1024
|
||||
@@ -67,7 +71,7 @@ _scratch_cycle_mount
|
||||
# Snapshot creator...
|
||||
snappy() {
|
||||
n=0
|
||||
while [ ! -e $testdir/finished ]; do
|
||||
while [ ! -e $finished_file ]; do
|
||||
out="$(_cp_reflink $testdir/file1 $testdir/snap_$n 2>&1)"
|
||||
res=$?
|
||||
echo $out | grep -q "No space left" && break
|
||||
@@ -75,7 +79,7 @@ snappy() {
|
||||
test $res -ne 0 && break
|
||||
n=$((n + 1))
|
||||
done
|
||||
touch $testdir/abort
|
||||
touch $abort_file
|
||||
}
|
||||
|
||||
echo "Snapshot a file undergoing buffered rewrite"
|
||||
@@ -84,13 +88,13 @@ seq 1 1000 | while read j; do
|
||||
seq $nr_loops -1 0 | while read i; do
|
||||
out="$(_pwrite_byte 0x63 $((i * blksz)) $blksz $testdir/file1 2>&1)"
|
||||
echo $out >> $seqres.full
|
||||
echo $out | grep -q "No space left" && touch $testdir/abort
|
||||
echo $out | grep -qi "error" && touch $testdir/abort
|
||||
test -e $testdir/abort && break
|
||||
echo $out | grep -q "No space left" && touch $abort_file
|
||||
echo $out | grep -qi "error" && touch $abort_file
|
||||
test -e $abort_file && break
|
||||
done
|
||||
test -e $testdir/abort && break
|
||||
test -e $abort_file && break
|
||||
done
|
||||
touch $testdir/finished
|
||||
touch $finished_file
|
||||
wait
|
||||
|
||||
# success, all done
|
||||
|
||||
Reference in New Issue
Block a user