generic/611: Use _getfattr instead of GETFATTR_PROG
[xfstests-dev.git] / tests / generic / 499
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2018 Oracle, Inc.  All Rights Reserved.
4 #
5 # FS QA Test No. 499
6 #
7 # Test a specific sequence of fsx operations that causes an mmap read past
8 # eof to return nonzero contents.
9 #
10 seq=`basename $0`
11 seqres=$RESULT_DIR/$seq
12 echo "QA output created by $seq"
13 tmp=/tmp/$$
14 status=1        # failure is the default!
15 trap "_cleanup; exit \$status" 0 1 2 3 15
16
17 _cleanup()
18 {
19         cd /
20         rm -f $tmp.*
21 }
22
23 # get standard environment, filters and checks
24 . ./common/rc
25 . ./common/punch
26
27 # real QA test starts here
28 _supported_fs generic
29 _require_scratch
30 _require_xfs_io_command "falloc" "-k"
31 _require_xfs_io_command "fcollapse"
32 _require_xfs_io_command "fzero"
33
34 rm -f $seqres.full
35
36 _scratch_mkfs >>$seqres.full 2>&1
37 _scratch_mount
38
39 cat >> $tmp.fsxops << ENDL
40 fallocate 0x77e2 0x5f06 0x269a2 keep_size
41 mapwrite 0x2e7fc 0x42ba 0x3f989
42 write 0x67a9 0x714e 0x3f989
43 write 0x39f96 0x185a 0x3f989
44 collapse_range 0x36000 0x8000 0x3f989
45 mapread 0x74c0 0x1bb3 0x3e2d0
46 truncate 0x0 0x8aa2 0x3e2d0
47 zero_range 0x1265 0x783d 0x8aa2
48 mapread 0x7bd8 0xeca 0x8aa2
49 ENDL
50
51 victim=$SCRATCH_MNT/a
52 touch $victim
53 $here/ltp/fsx --replay-ops $tmp.fsxops $victim > $tmp.output 2>&1 || cat $tmp.output
54
55 echo "Silence is golden"
56 status=0
57 exit