mbox series

[0/2] skip tests that don't work with an external log

Message ID 20210705040307.3322709-1-tytso@mit.edu (mailing list archive)
Headers show
Series skip tests that don't work with an external log | expand

Message

Theodore Ts'o July 5, 2021, 4:03 a.m. UTC
I recently tried running xfstests with an external log device, and
found a number of failures caused by the fact that we use dmflakey and
dmerror to take down a disk to simulate a power failure or a complete
hard disk failure.  But with an external log device, the tests don't
correctly simulate these scenarios, so skip them.

With these patches, testing with ext4 using an external log is passing
almost all of the auto group tests, with the exception of ext4/028
(which appears to be a genuine ext4 fsmap bug not handling external
log devices correctly).

Theodore Ts'o (2):
  dmflakey: don't run dmflakey tests with an external log device
  generic/475: skip test when using an external log device

 common/dmflakey   | 4 ++++
 tests/generic/475 | 4 ++++
 2 files changed, 8 insertions(+)

Comments

Darrick J. Wong July 6, 2021, 5:48 p.m. UTC | #1
On Mon, Jul 05, 2021 at 12:03:05AM -0400, Theodore Ts'o wrote:
> I recently tried running xfstests with an external log device, and
> found a number of failures caused by the fact that we use dmflakey and
> dmerror to take down a disk to simulate a power failure or a complete
> hard disk failure.  But with an external log device, the tests don't
> correctly simulate these scenarios, so skip them.

Counter-proposal: If I sent out my series to fix all that[1], would you
review them?

--D

[1] https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfstests-dev.git/log/?h=dmerror-on-rt-devices

> 
> With these patches, testing with ext4 using an external log is passing
> almost all of the auto group tests, with the exception of ext4/028
> (which appears to be a genuine ext4 fsmap bug not handling external
> log devices correctly).
> 
> Theodore Ts'o (2):
>   dmflakey: don't run dmflakey tests with an external log device
>   generic/475: skip test when using an external log device
> 
>  common/dmflakey   | 4 ++++
>  tests/generic/475 | 4 ++++
>  2 files changed, 8 insertions(+)
> 
> -- 
> 2.31.0
>
Eryu Guan July 18, 2021, 12:54 p.m. UTC | #2
On Tue, Jul 06, 2021 at 10:48:37AM -0700, Darrick J. Wong wrote:
> On Mon, Jul 05, 2021 at 12:03:05AM -0400, Theodore Ts'o wrote:
> > I recently tried running xfstests with an external log device, and
> > found a number of failures caused by the fact that we use dmflakey and
> > dmerror to take down a disk to simulate a power failure or a complete
> > hard disk failure.  But with an external log device, the tests don't
> > correctly simulate these scenarios, so skip them.
> 
> Counter-proposal: If I sent out my series to fix all that[1], would you
> review them?

Yeah, I was going to ask if xfs supports dmflakey tests with external
log dev. So Ted's proposal will break your work.

And if we want to disable dmflakey/dmerror tests with external log only
for ext4, I think we could do it in _require_dm_target() not in
_init_flakey(), something like:

_require_dm_target()
{
	local target=$1
	......

	case "$target" in
	flakey|error)
		if [ "$FSTYP" == "ext4" -o "$FSTYP" == "ext3" ] && _has_logdev; then
			_notrun "dmflakey/dmerror tests don't work with an external log device for $FSTYP"
		fi
		;;
	*)
		;;
	esac
	......
}

Then generic/475 doesn't need any update.

Thanks,
Eryu

> 
> --D
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfstests-dev.git/log/?h=dmerror-on-rt-devices
> 
> > 
> > With these patches, testing with ext4 using an external log is passing
> > almost all of the auto group tests, with the exception of ext4/028
> > (which appears to be a genuine ext4 fsmap bug not handling external
> > log devices correctly).
> > 
> > Theodore Ts'o (2):
> >   dmflakey: don't run dmflakey tests with an external log device
> >   generic/475: skip test when using an external log device
> > 
> >  common/dmflakey   | 4 ++++
> >  tests/generic/475 | 4 ++++
> >  2 files changed, 8 insertions(+)
> > 
> > -- 
> > 2.31.0
> >