common/rc: Add _require_{chown,chmod}()
[xfstests-dev.git] / tests / generic / 052
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2000-2003 Silicon Graphics, Inc.  All Rights Reserved.
4 #
5 # FS QA Test No. 052
6 #
7 # To test log replay by shutdown of file system
8 # This is the first simple initial test to ensure that
9 # the goingdown ioctl is working and recovery of
10 # create transactions is working.
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 status=1        # failure is the default!
19 trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
20
21 # get standard environment, filters and checks
22 . ./common/rc
23 . ./common/filter
24 . ./common/log
25
26 # real QA test starts here
27 _supported_fs generic
28
29 rm -f $seqres.full
30 rm -f $tmp.log
31
32 _require_scratch
33 _require_scratch_shutdown
34 _require_logstate
35
36 echo "mkfs"
37 _scratch_mkfs >>$seqres.full 2>&1 \
38     || _fail "mkfs scratch failed"
39 _require_metadata_journaling $SCRATCH_DEV
40
41 echo "mount"
42 _scratch_mount
43
44 echo "touch files"
45 touch $SCRATCH_MNT/{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
46
47 echo "godown"
48 _scratch_shutdown -v -f >> $seqres.full
49
50 echo "unmount"
51 _scratch_unmount
52
53 echo "logprint after going down..."
54 _print_logstate
55
56 # curious if FS consistent at start
57 if false; then
58     if _check_scratch_fs; then
59        echo "*** checked ok ***"
60     fi
61 fi
62
63 echo "mount with replay"
64 _try_scratch_mount $mnt >>$seqres.full 2>&1 \
65     || _fail "mount failed: $mnt $MOUNT_OPTIONS"
66
67 echo "ls SCRATCH_MNT"
68 ls $SCRATCH_MNT | _filter_lostfound
69
70 echo "unmount"
71 _scratch_unmount
72
73 echo "logprint after mount and replay..."
74 _print_logstate
75
76 # success, all done
77 status=0
78 exit