xfs/216: always disable rmap and reflink when creating log size test fs
[xfstests-dev.git] / tests / xfs / 216
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2008 Silicon Graphics, Inc.  All Rights Reserved.
4 #
5 # FS QA Test No. 216
6 #
7 # log size mkfs test - ensure the log size scaling works for small filesystems
8 #
9 seq=`basename $0`
10 seqres=$RESULT_DIR/$seq
11 echo "QA output created by $seq"
12
13 here=`pwd`
14 tmp=/tmp/$$
15 status=1        # failure is the default!
16 trap "_cleanup; exit \$status" 0 1 2 3 15
17
18 _cleanup()
19 {
20     cd /
21     rm -f $tmp.*
22 }
23
24 # get standard environment, filters and checks
25 . ./common/rc
26 . ./common/filter
27
28 # real QA test starts here
29 _supported_fs xfs
30 _supported_os Linux
31
32 _require_scratch
33 _scratch_mkfs_xfs >/dev/null 2>&1
34 _scratch_mount
35
36 _require_loop
37 LOOP_DEV=$SCRATCH_MNT/test_fs
38 LOOP_MNT=$SCRATCH_MNT/test_fs_dir
39
40 loop_mkfs_opts=
41 $MKFS_XFS_PROG 2>&1 | grep -q rmapbt && \
42         loop_mkfs_opts="$loop_mkfs_opts -m rmapbt=0"
43 $MKFS_XFS_PROG 2>&1 | grep -q reflink && \
44         loop_mkfs_opts="$loop_mkfs_opts -m reflink=0"
45
46 _do_mkfs()
47 {
48         for i in $*; do
49                 echo -n "fssize=${i}g "
50                 $MKFS_XFS_PROG -f -b size=4096 -l version=2 \
51                         -d name=$LOOP_DEV,size=${i}g $loop_mkfs_opts |grep log
52                 mount -o loop -t xfs $LOOP_DEV $LOOP_MNT
53                 echo "test write" > $LOOP_MNT/test
54                 umount $LOOP_MNT > /dev/null 2>&1
55         done
56 }
57 # make large holey file
58 $XFS_IO_PROG -f -c "truncate 256g" $LOOP_DEV
59
60 #make loopback mount dir
61 mkdir $LOOP_MNT
62
63 # walk over standard sizes (up to 256GB)
64 _do_mkfs 1 2 4 8 16 32 64 128 256
65
66 status=0
67 exit