btrfs/012: check free size of scratch device before copying files
[xfstests-dev.git] / tests / xfs / 066
1 #! /bin/bash
2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2000-2002 Silicon Graphics, Inc.  All Rights Reserved.
4 #
5 # FS QA Test No. 066
6 #
7 # Test dumping of large files
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 # get standard environment, filters and checks
19 . ./common/rc
20 . ./common/filter
21 . ./common/dump
22
23 _cleanup()
24 {
25     _cleanup_dump
26     cd /
27     rm -f $tmp.*
28 }
29
30 # real QA test starts here
31 _supported_fs xfs
32 _require_test
33
34 _my_stat_filter()
35 {
36     grep "[sS]ize" | sed "s/.*[sS]ize[: ]*\([[:digit:]]*\).*/\1 largefile/g"
37 }
38
39 rm -f $TEST_DIR/testfile
40 if $here/src/feature -t $TEST_DIR/testfile; then
41         :
42 else
43         _notrun "Installed libc doesn't correctly handle setrlimit/ftruncate64"
44 fi
45
46 _create_dumpdir_largefile
47 echo "ls dumpdir/largefile"
48 stat $dump_dir/largefile | _my_stat_filter
49 md5sum $dump_dir/largefile |_filter_scratch
50 _do_dump_file
51 _do_restore_file
52 echo "ls restoredir/largefile"
53 stat $restore_dir/$dump_sdir/largefile | _my_stat_filter
54 md5sum $restore_dir/$dump_sdir/largefile |_filter_scratch
55
56 # success, all done
57 status=0
58 exit