mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
generic/{279, 28[1-3]}: hide SIGBUS reporting from golden output
These four tests check that mmap'd cow writes fail when the filesystem goes down. For regular filesystems the msync reports EIO, but if quotas are enabled on xfs the write itself terminates xfs_io with a SIGBUS. We don't care how the write fails, so don't let the SIGBUS report escape to the golden output. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Eryu Guan <guaneryu@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
committed by
Eryu Guan
parent
2c14233d91
commit
beae6dead9
@@ -66,8 +66,14 @@ md5sum $testdir/file2 | _filter_scratch
|
||||
echo "CoW and unmount"
|
||||
sync
|
||||
_dmerror_load_error_table
|
||||
# Insulate ourselves against bash reporting the SIGBUS when we try to modify
|
||||
# the metadata.
|
||||
cat > $tmp.run << ENDL
|
||||
ulimit -c 0
|
||||
$XFS_IO_PROG -f -c "mmap -rw 0 $filesize" -c "mwrite -S 0x63 0 $filesize" \
|
||||
-c "msync -s 0 $filesize" $testdir/file2 >> $seqres.full 2>&1
|
||||
ENDL
|
||||
bash $tmp.run 2> /dev/null
|
||||
_dmerror_load_working_table
|
||||
_dmerror_unmount
|
||||
_dmerror_mount
|
||||
|
||||
@@ -66,8 +66,14 @@ md5sum $testdir/file2 | _filter_scratch
|
||||
echo "CoW and unmount"
|
||||
sync
|
||||
_dmerror_load_error_table
|
||||
# Insulate ourselves against bash reporting the SIGBUS when we try to modify
|
||||
# the metadata.
|
||||
cat > $tmp.run << ENDL
|
||||
ulimit -c 0
|
||||
$XFS_IO_PROG -f -c "mmap -rw 0 $filesize" -c "mwrite -S 0x63 0 $filesize" \
|
||||
-c "msync -s 0 $filesize" $testdir/file2 >> $seqres.full 2>&1
|
||||
ENDL
|
||||
bash $tmp.run 2> /dev/null
|
||||
|
||||
echo "Clean up the mess"
|
||||
_dmerror_unmount
|
||||
|
||||
+8
-1
@@ -66,7 +66,14 @@ md5sum $testdir/file2 | _filter_scratch
|
||||
echo "CoW and unmount"
|
||||
sync
|
||||
_dmerror_load_error_table
|
||||
$XFS_IO_PROG -f -c "mmap -rw 0 $filesize" -c "mwrite -S 0x63 0 $filesize" $testdir/file2 >> $seqres.full 2>&1
|
||||
# Insulate ourselves against bash reporting the SIGBUS when we try to modify
|
||||
# the metadata.
|
||||
cat > $tmp.run << ENDL
|
||||
ulimit -c 0
|
||||
$XFS_IO_PROG -f -c "mmap -rw 0 $filesize" \
|
||||
-c "mwrite -S 0x63 0 $filesize" $testdir/file2 >> $seqres.full 2>&1
|
||||
ENDL
|
||||
bash $tmp.run 2> /dev/null
|
||||
_dmerror_load_working_table
|
||||
rm -rf $testdir/file2 >> $seqres.full 2>&1
|
||||
_dmerror_unmount
|
||||
|
||||
+10
-4
@@ -67,10 +67,16 @@ md5sum $testdir/file2 | _filter_scratch
|
||||
echo "CoW and unmount"
|
||||
sync
|
||||
_dmerror_load_error_table
|
||||
urk=$($XFS_IO_PROG -f -c "mmap -rw 0 $filesize" -c "mwrite -S 0x63 0 $filesize" \
|
||||
-c "msync -s 0 $filesize" $testdir/file2 2>&1)
|
||||
echo $urk >> $seqres.full
|
||||
echo "$urk" | grep -q "error" || _fail "mwrite did not fail"
|
||||
# Insulate ourselves against bash reporting the SIGBUS when we try to modify
|
||||
# the metadata.
|
||||
cat > $tmp.run << ENDL
|
||||
ulimit -c 0
|
||||
$XFS_IO_PROG -f -c "mmap -rw 0 $filesize" -c "mwrite -S 0x63 0 $filesize" \
|
||||
-c "msync -s 0 $filesize" $testdir/file2 2>&1
|
||||
ENDL
|
||||
bash $tmp.run > $tmp.output 2>&1
|
||||
cat $tmp.output >> $seqres.full
|
||||
grep -q error $tmp.output || _fail "mwrite did not fail"
|
||||
_dmerror_load_working_table
|
||||
|
||||
echo "Rewrite"
|
||||
|
||||
Reference in New Issue
Block a user