2 # SPDX-License-Identifier: GPL-2.0
3 # Copyright (c) 2014 Red Hat, Inc. All Rights Reserved.
7 # Test that garbage in old v4 superblocks doesn't trip verifiers during growfs
9 # Older kernels sometimes left garbage in the unused portions
10 # of the superblock during growfs; with the new verifiers this initially
11 # caused failures during a subsequent growfs; see
12 # 10e6e65 xfs: be more forgiving of a v4 secondary sb w/ junk in v5 fields
13 # for further explanation. (NB: while the commit log was good, the
14 # patch had a bug which was subsequently fixed)
17 _begin_fstest auto quick growfs
19 # Import common functions.
22 # Modify as appropriate.
24 _require_scratch_nocheck
25 _require_no_large_scratch_dev
27 # So we can explicitly turn it _off_:
30 _scratch_mkfs_xfs -m crc=0 -d size=128m >> $seqres.full 2>&1 || _fail "mkfs failed"
32 # Scribble past a couple V4 secondary superblocks to populate sb_crc
33 # (We can't write to the structure member because it doesn't exist
34 # on a v4 superblock, so we use the data type & "write fill")
35 _scratch_xfs_db -x -c "sb 1" -c "type data" -c "write fill 0xff 224 4"
36 _scratch_xfs_db -x -c "sb 2" -c "type data" -c "write fill 0xff 224 4"
41 $XFS_GROWFS_PROG $SCRATCH_MNT >> $seqres.full 2>&1 || _fail "growfs failed"