mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
add ext2/3/4-specific _check_extN_filesystem function
The _check_generic_filesystem function doesn't force a full filesystem check, so filesystem inconsistencies after a test wouldn't be noticed. To fix this, I added an extN specific check filesystem function. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
committed by
Christoph Hellwig
parent
ae2c20fd77
commit
8b61ae6352
@@ -865,6 +865,52 @@ _check_generic_filesystem()
|
||||
return 0
|
||||
}
|
||||
|
||||
# Check an ext2/3/4 filesystem
|
||||
#
|
||||
_check_extN_filesystem()
|
||||
{
|
||||
device=$1
|
||||
|
||||
# If type is set, we're mounted
|
||||
type=`_fs_type $device`
|
||||
ok=1
|
||||
|
||||
if [ "$type" = "$FSTYP" ]
|
||||
then
|
||||
# mounted ...
|
||||
mountpoint=`_umount_or_remount_ro $device`
|
||||
fi
|
||||
|
||||
e2fsck -nf $device >$tmp.fsck 2>&1
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "_check_extN_filesystem: filesystem on $device is inconsistent (see $seq.full)"
|
||||
|
||||
echo "_check_extN filesystem: filesystem on $device is inconsistent" >>$here/$seq.full
|
||||
echo "*** e2fsck output ***" >>$here/$seq.full
|
||||
cat $tmp.fsck >>$here/$seq.full
|
||||
echo "*** end e2fsck output" >>$here/$seq.full
|
||||
|
||||
ok=0
|
||||
fi
|
||||
rm -f $tmp.fsck
|
||||
|
||||
if [ $ok -eq 0 ]
|
||||
then
|
||||
echo "*** mount output ***" >>$here/$seq.full
|
||||
_mount >>$here/$seq.full
|
||||
echo "*** end mount output" >>$here/$seq.full
|
||||
elif [ "$type" = "$FSTYP" ]
|
||||
then
|
||||
# was mounted ...
|
||||
_mount_or_remount_rw "$MOUNT_OPTIONS" $device $mountpoint
|
||||
ok=$?
|
||||
fi
|
||||
|
||||
[ $ok -eq 0 ] && exit 1
|
||||
return 0
|
||||
}
|
||||
|
||||
# run xfs_check and friends on a FS.
|
||||
|
||||
_check_xfs_filesystem()
|
||||
@@ -1033,6 +1079,9 @@ _check_test_fs()
|
||||
udf)
|
||||
# do nothing for now
|
||||
;;
|
||||
ext2|ext3|ext4)
|
||||
_check_extN_filesystem $TEST_DEV
|
||||
;;
|
||||
*)
|
||||
_check_generic_filesystem $TEST_DEV
|
||||
;;
|
||||
@@ -1059,6 +1108,9 @@ _check_scratch_fs()
|
||||
nfs*)
|
||||
# Don't know how to check an NFS filesystem, yet.
|
||||
;;
|
||||
ext2|ext3|ext4)
|
||||
_check_extN_filesystem $SCRATCH_DEV
|
||||
;;
|
||||
*)
|
||||
_check_generic_filesystem $SCRATCH_DEV
|
||||
;;
|
||||
|
||||
Reference in New Issue
Block a user