mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
common/rc: optionally test xfs_repair index rebuilding
Run xfs_repair twice more at the end of each test -- once to rebuild the btree indices, and again with -n to check the rebuild work. This is in addition to the regular dry-run spot check. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Eryu Guan <eguan@redhat.com> Signed-off-by: Eryu Guan <eguan@redhat.com>
This commit is contained in:
committed by
Eryu Guan
parent
49b0eda17a
commit
dd6eca7b0e
@@ -80,6 +80,10 @@ Preparing system for tests (IRIX and Linux):
|
||||
added to the end of fsstresss and fsx invocations, respectively,
|
||||
in case you wish to exclude certain operational modes from these
|
||||
tests.
|
||||
- set TEST_XFS_REPAIR_REBUILD=1 to have _check_xfs_filesystem
|
||||
run xfs_repair -n to check the filesystem; xfs_repair to rebuild
|
||||
metadata indexes; and xfs_repair -n (a third time) to check the
|
||||
results of the rebuilding.
|
||||
|
||||
- or add a case to the switch in common/config assigning
|
||||
these variables based on the hostname of your test
|
||||
|
||||
@@ -2451,6 +2451,35 @@ _check_xfs_filesystem()
|
||||
fi
|
||||
rm -f $tmp.fs_check $tmp.logprint $tmp.repair
|
||||
|
||||
# Optionally test the index rebuilding behavior.
|
||||
if [ -n "$TEST_XFS_REPAIR_REBUILD" ]; then
|
||||
$XFS_REPAIR_PROG $extra_options $extra_log_options $extra_rt_options $device >$tmp.repair 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "_check_xfs_filesystem: filesystem on $device is inconsistent (rebuild) (see $seqres.full)"
|
||||
|
||||
echo "_check_xfs_filesystem: filesystem on $device is inconsistent (rebuild)" >>$seqres.full
|
||||
echo "*** xfs_repair output ***" >>$seqres.full
|
||||
cat $tmp.repair | _fix_malloc >>$seqres.full
|
||||
echo "*** end xfs_repair output" >>$seqres.full
|
||||
|
||||
ok=0
|
||||
fi
|
||||
rm -f $tmp.repair
|
||||
|
||||
$XFS_REPAIR_PROG -n $extra_options $extra_log_options $extra_rt_options $device >$tmp.repair 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "_check_xfs_filesystem: filesystem on $device is inconsistent (rebuild-reverify) (see $seqres.full)"
|
||||
|
||||
echo "_check_xfs_filesystem: filesystem on $device is inconsistent (rebuild-reverify)" >>$seqres.full
|
||||
echo "*** xfs_repair -n output ***" >>$seqres.full
|
||||
cat $tmp.repair | _fix_malloc >>$seqres.full
|
||||
echo "*** end xfs_repair output" >>$seqres.full
|
||||
|
||||
ok=0
|
||||
fi
|
||||
rm -f $tmp.repair
|
||||
fi
|
||||
|
||||
if [ $ok -eq 0 ]
|
||||
then
|
||||
echo "*** mount output ***" >>$seqres.full
|
||||
|
||||
Reference in New Issue
Block a user