generic/173: don't dump core when mwrite fails
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 30 Aug 2017 22:31:10 +0000 (15:31 -0700)
committerEryu Guan <eguan@redhat.com>
Sun, 3 Sep 2017 04:20:00 +0000 (12:20 +0800)
In generic/173, we try to force a CoW to a mmap'd region to fail if
there's no space to actually stage the CoW operation.  That failure
comes in the form of a SIGBUS to xfs_io.  If the tester just happens
to have a nonzero coresize ulimit set, a core dump is generated and
the test is marked as having failed, even though the dump generation
is exactly the correct behavior.

Therefore, set the coresize ulimit to zero while calling
_mwrite_byte.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Eryu Guan <eguan@redhat.com>
Signed-off-by: Eryu Guan <eguan@redhat.com>
tests/generic/173

index ad4e5dad2662fe4184f4557dd7f8775a976f10f8..526590b9d2acc91aba1740f74c189df3d5b12d57 100755 (executable)
@@ -81,6 +81,8 @@ _fill_fs $((blksz * nr_free)) $testdir/space $blksz 0 >> $seqres.full 2>&1
 sync
 
 echo "mmap CoW the big file"
+core_ulimit="$(ulimit -c)"
+ulimit -c 0
 out="$(_mwrite_byte 0x62 0 $((blksz * nr_blks)) $((blksz * nr_blks)) $testdir/bigfile 2>&1)"
 err="$?"
 if [ $err -lt 128 ]; then
@@ -95,6 +97,7 @@ err="$?"
 if [ $err -lt 128 ]; then
        echo "mmap CoW should have failed with SIGBUS, got SIG$(kill -l $err)"
 fi
+ulimit -c "${core_ulimit}"
 
 # success, all done
 status=0