On Tue, Apr 13, 2021 at 06:05:01PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > Provide a mkfs helper to format the dm thin device when external devices > are in use, and fix the dmthin mount helper to support them. This fixes > regressions in generic/347 and generic/500 when external logs are in > use. > > Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> > --- > common/dmthin | 9 ++++++++- > tests/generic/223 | 3 +++ > tests/generic/347 | 2 +- > tests/generic/500 | 2 +- > 4 files changed, 13 insertions(+), 3 deletions(-) > > > diff --git a/common/dmthin b/common/dmthin > index c58c3948..3b1c7d45 100644 > --- a/common/dmthin > +++ b/common/dmthin > @@ -218,10 +218,17 @@ _dmthin_set_fail() > > _dmthin_mount_options() > { > - echo `_common_dev_mount_options $*` $DMTHIN_VOL_DEV $SCRATCH_MNT > + _scratch_options mount > + echo `_common_dev_mount_options $*` $SCRATCH_OPTIONS $DMTHIN_VOL_DEV $SCRATCH_MNT > } > > _dmthin_mount() > { > _mount -t $FSTYP `_dmthin_mount_options $*` > } > + > +_dmthin_mkfs() > +{ > + _scratch_options mkfs > + _mkfs_dev $SCRATCH_OPTIONS $@ $DMTHIN_VOL_DEV > +} > diff --git a/tests/generic/223 b/tests/generic/223 > index 1f85efe5..a5ace82f 100755 > --- a/tests/generic/223 > +++ b/tests/generic/223 > @@ -43,6 +43,9 @@ for SUNIT_K in 8 16 32 64 128; do > _scratch_mkfs_geom $SUNIT_BYTES 4 $BLOCKSIZE >> $seqres.full 2>&1 > _scratch_mount > > + # Make sure everything is on the data device > + $XFS_IO_PROG -c 'chattr -t' $SCRATCH_MNT What does this do for non-xfs filesystems? Do we need a FSTYP check and do chattr only on XFS? Thanks, Eryu > + > for SIZE_MULT in 1 2 8 64 256; do > let SIZE=$SIZE_MULT*$SUNIT_BYTES > > diff --git a/tests/generic/347 b/tests/generic/347 > index cbc5150a..e970ac10 100755 > --- a/tests/generic/347 > +++ b/tests/generic/347 > @@ -31,7 +31,7 @@ _setup_thin() > { > _dmthin_init $BACKING_SIZE $VIRTUAL_SIZE > _dmthin_set_queue > - _mkfs_dev $DMTHIN_VOL_DEV > + _dmthin_mkfs > _dmthin_mount > } > > diff --git a/tests/generic/500 b/tests/generic/500 > index 085ddbf3..5ab2f78c 100755 > --- a/tests/generic/500 > +++ b/tests/generic/500 > @@ -68,7 +68,7 @@ CLUSTER_SIZE=$((64 * 1024 / 512)) # 64K > > _dmthin_init $BACKING_SIZE $VIRTUAL_SIZE $CLUSTER_SIZE 0 > _dmthin_set_fail > -_mkfs_dev $DMTHIN_VOL_DEV > +_dmthin_mkfs > _dmthin_mount > > # There're two bugs at here, one is dm-thin bug, the other is filesystem