#! /bin/bash # SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2018 Red Hat, Inc. All Rights Reserved. # # FS QA Test No. 132 # # Catch inobt/on disk inode free state mismatches on V4 filesystems # . ./common/preamble _begin_fstest auto quick # Import common functions. . ./common/filter . ./common/quota # real QA test starts here _supported_fs xfs # we intentionally corrupt the filesystem, so don't check it after the test _require_scratch_nocheck # on success, we'll get a shutdown filesystem with a really noisy log message # due to transaction cancellation. Hence we don't want to check dmesg here. _disable_dmesg_check _require_xfs_mkfs_crc _scratch_mkfs -m crc=0 > $seqres.full 2>&1 # The files that EIO in the golden output changes if we have quotas enabled # so leave it off. _qmount_option "defaults" # corrupt an inode in the root inode chunk root_ino=$(_scratch_xfs_get_metadata_field 'rootino' 'sb 0') corrupt_ino=$((root_ino + 15)) _scratch_xfs_set_metadata_field 'core.mode' 0100644 "inode $corrupt_ino" _scratch_mount # The corrupt inode should be tripped over during these initial file creates. touch $SCRATCH_MNT/file{0,1,2,3,4,5}{0,1,2,3,4,5} 2>&1 | _filter_scratch # success, all done status=0 exit