Files
apfstests/tests/ext4/036
T
Theodore Ts'o f736b1c257 shared,ext4: move ext4-specific tests out of shared/
The tests shared/{001,003,004,272} test behaviour around the ext4's
journal.  As such, they are pointless to run on ext2, and ext3 no
longer is in kernels newer than 4.3.  (And most enterprise
distributions have been using ext4 to support the ext3 file system;
that capability has been around since 2.6.33.)  So we can move these
tests out of shared and into the ext4 class of tests:

	shared/001 --> ext4/036
	shared/003 --> ext4/037
	shared/004 --> ext4/038
	shared/272 --> ext4/039

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2019-07-05 15:24:25 +08:00

57 lines
1.2 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2015 Red Hat Inc. All Rights Reserved.
#
# FS QA Test No. ext4/036
#
# Test truncate orphan inodes when mounting ext4
# ext4 used to hit WARNING, this commit fixed the issue
#
# 721e3eb ext4: lock i_mutex when truncating orphan inodes
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
# real QA test starts here
_supported_fs ext3 ext4
_supported_os Linux
_require_scratch
rm -f $seqres.full
echo "Silence is golden"
_scratch_mkfs_sized $((16*1024*1024)) >>$seqres.full 2>&1
_scratch_mount
# create a file and get its inode number, usually it's 12, but to be accurate
testfile=$SCRATCH_MNT/testfile
touch $testfile
inode=`ls -i $testfile | awk '{print $1}'`
# add the inode in orphan inode list
_scratch_unmount
debugfs -w -R "set_super_value last_orphan $inode" $SCRATCH_DEV \
>>$seqres.full 2>&1
# mount again to truncate orphan inode, _check_dmesg will catch the WARNING
_scratch_mount
status=0
exit