mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
create _require_metadata_journaling, and add to tests that need it
Many tests use dm_flakey to trigger log replay, but for filesystems that don't support metadata journaling, this causes failures when it shouldn't. (i.e. we can hardly test log replay if there is no log, and the subsequent filesystem check will turn up errors). For some tests they actually sync everything we care about, and find inconsistencies elsewhere, but I erred on the side of simply not running the test in most cases. Tested-by: Filipe Manana <fdmanana@suse.com> Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: Lukas Czerner <lczerner@redhat.com> Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
committed by
Dave Chinner
parent
6f6c471624
commit
68d3b93bf6
@@ -2340,6 +2340,38 @@ _require_norecovery()
|
||||
_scratch_unmount
|
||||
}
|
||||
|
||||
# Does this filesystem support metadata journaling?
|
||||
# We exclude ones here that don't; otherwise we assume that it does, so the
|
||||
# test will run, fail, and motivate someone to update this test for a new
|
||||
# filesystem.
|
||||
#
|
||||
# It's possible that TEST_DEV and SCRATCH_DEV have different features (it'd be
|
||||
# odd, but possible) so check $TEST_DEV by default, but we can optionall pass
|
||||
# any dev we want.
|
||||
_require_metadata_journaling()
|
||||
{
|
||||
if [ -z $1 ]; then
|
||||
DEV=$TEST_DEV
|
||||
else
|
||||
DEV=$1
|
||||
fi
|
||||
|
||||
case "$FSTYP" in
|
||||
ext2|vfat|msdos)
|
||||
_notrun "$FSTYP does not support metadata journaling"
|
||||
;;
|
||||
ext4)
|
||||
# ext4 could be mkfs'd without a journal...
|
||||
_require_dumpe2fs
|
||||
$DUMPE2FS_PROG -h $DEV 2>&1 | grep -q has_journal || \
|
||||
_notrun "$FSTYP on $DEV not configured with metadata journaling"
|
||||
;;
|
||||
*)
|
||||
# by default we pass; if you need to, add your fs above!
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Does fiemap support?
|
||||
_require_fiemap()
|
||||
{
|
||||
|
||||
@@ -53,6 +53,7 @@ _supported_os Linux
|
||||
_need_to_be_root
|
||||
_require_scratch
|
||||
_require_dm_flakey
|
||||
_require_metadata_journaling $SCRATCH_DEV
|
||||
|
||||
rm -f $seqres.full
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ _supported_os Linux
|
||||
_need_to_be_root
|
||||
_require_scratch
|
||||
_require_dm_flakey
|
||||
_require_metadata_journaling $SCRATCH_DEV
|
||||
|
||||
rm -f $seqres.full
|
||||
|
||||
|
||||
@@ -66,6 +66,7 @@ _supported_os Linux
|
||||
_need_to_be_root
|
||||
_require_scratch
|
||||
_require_dm_flakey
|
||||
_require_metadata_journaling $SCRATCH_DEV
|
||||
|
||||
rm -f $seqres.full
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ _supported_os Linux
|
||||
_need_to_be_root
|
||||
_require_scratch
|
||||
_require_dm_flakey
|
||||
_require_metadata_journaling $SCRATCH_DEV
|
||||
|
||||
rm -f $seqres.full
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ _supported_os Linux
|
||||
_need_to_be_root
|
||||
_require_scratch
|
||||
_require_dm_flakey
|
||||
_require_metadata_journaling $SCRATCH_DEV
|
||||
|
||||
rm -f $seqres.full
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ _supported_os Linux
|
||||
_need_to_be_root
|
||||
_require_scratch_nocheck
|
||||
_require_dm_flakey
|
||||
_require_metadata_journaling $SCRATCH_DEV
|
||||
|
||||
# xfs_io is not required for this test, but it's the best way to verify
|
||||
# the test system supports fallocate() for allocation
|
||||
|
||||
@@ -45,6 +45,7 @@ _supported_os Linux
|
||||
_need_to_be_root
|
||||
_require_scratch_nocheck
|
||||
_require_dm_flakey
|
||||
_require_metadata_journaling $SCRATCH_DEV
|
||||
|
||||
rm -f $seqres.full
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ _supported_os Linux
|
||||
_need_to_be_root
|
||||
_require_scratch_nocheck
|
||||
_require_dm_flakey
|
||||
_require_metadata_journaling $SCRATCH_DEV
|
||||
|
||||
rm -f $seqres.full
|
||||
|
||||
|
||||
Reference in New Issue
Block a user