fstests: check for filesystem FS_IOC_FSSETXATTR support
[xfstests-dev.git] / tests / xfs / 175
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2007 Silicon Graphics, Inc.  All Rights Reserved.
4 #
5 # FSQA Test No. 175
6 #
7 # Hole punching with extsize hints, holes may not reported by xfs_bmap.
8 # This is not good for certain backup apps, as they rely on the hole
9 # being visible in the file so later on they know where to migrate
10 # back the data from the tape.
11 #
12 seq=`basename $0`
13 seqres=$RESULT_DIR/$seq
14 echo "QA output created by $seq"
15
16 here=`pwd`
17 tmp=/tmp/$$
18 rm -f $seqres.full
19 status=1    # failure is the default!
20 trap "_cleanup; exit \$status" 0 1 2 3 15
21
22 _cleanup()
23 {
24         rm -f $tmp/*
25 }
26
27 # get standard environment, filters and checks
28 . ./common/rc
29 . ./common/filter
30 . ./common/dmapi
31 . ./common/punch
32
33 # real QA test starts here
34 _supported_fs xfs
35 _supported_os Linux
36
37 _require_scratch
38
39 # test that we have DMAPI support
40 _dmapi_scratch_mount
41 _scratch_unmount > /dev/null 2>&1
42
43 # _test_punch args: blksize extsize_hint filesize "pp1 pp2 pp3" \
44 #                                       "ps1 ps2 ps3" "pt1 pt2 pt3" "wp1 wp2" "ws1 ws2" \
45 #                                       "w p p w p" resvsp
46
47 echo "-- test dmpunch-hole without an extent size hint --"
48 _test_punch 4096 0 256 "240" "16" "d" "0" "256" "w p" noresv
49
50 echo
51 echo "-- this time use a 4k (one block) extent size hint --"
52 _test_punch 4096 1 256 "240" "16" "d" "0" "256" "w p" noresv
53
54 status=0
55 exit