On Mon, Jul 14, 2025 at 08:51:54AM -0400, Theodore Ts'o wrote: > If the file system configuration has journalling enabled, but doesn't > have the extent feature enabled (e.g., when testing the ext3 > configuration) the test will fail since _scratch_populate_cached > creates files with extents enabled. So add a check to skip the test > in that case. > > Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> > --- > common/ext4 | 23 +++++++++++++++++------ > tests/ext4/028 | 1 + > 2 files changed, 18 insertions(+), 6 deletions(-) > > diff --git a/common/ext4 b/common/ext4 > index f88fa5324..06191e304 100644 > --- a/common/ext4 > +++ b/common/ext4 > @@ -165,15 +165,26 @@ _ext4_mdrestore() > return $res > } > > -# this test requires the ext4 kernel support crc feature on scratch device > +# this test requires the ext4 kernel supports a particular feature > +# on the scratch device > # > +_require_scratch_ext4_feature_enabled() > +{ > + if [ -z "$1" ]; then > + echo "Usage: _require_scratch_ext4_feature feature" > + _exit 1 > + fi > + _scratch_mkfs_ext4 >/dev/null 2>&1 > + dumpe2fs -h $SCRATCH_DEV 2> /dev/null | grep -q "$1" || \ This would be a good time to convert this to call $DUMPE2FS_PROG instead of dumpe2fs directly. With that fixed, Reviewed-by: "Darrick J. Wong" <djwong@xxxxxxxxxx> --D > + _notrun "$1 not enabled by this filesystem" > + _try_scratch_mount >/dev/null 2>&1 \ > + || _notrun "Kernel doesn't support $1 feature" > + _scratch_unmount > +} > + > _require_scratch_ext4_crc() > { > - _scratch_mkfs_ext4 >/dev/null 2>&1 > - dumpe2fs -h $SCRATCH_DEV 2> /dev/null | grep -q metadata_csum || _notrun "metadata_csum not supported by this filesystem" > - _try_scratch_mount >/dev/null 2>&1 \ > - || _notrun "Kernel doesn't support metadata_csum feature" > - _scratch_unmount > + _require_scratch_ext4_feature_enabled "metadata_csum" > } > > # Check whether the specified feature whether it is supported by > diff --git a/tests/ext4/028 b/tests/ext4/028 > index 1b8855098..254074f08 100755 > --- a/tests/ext4/028 > +++ b/tests/ext4/028 > @@ -24,6 +24,7 @@ _exclude_fs ext2 > _exclude_fs ext3 > > _require_scratch > +_require_scratch_ext4_feature_enabled "extent" > _require_populate_commands > _require_xfs_io_command "fsmap" > > -- > 2.47.2 > >