public inbox for fstests@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] aborted fstests may leave frozen fs behind
@ 2022-06-19 13:46 Amir Goldstein
  2022-06-19 13:46 ` [PATCH 1/4] fstests: add missing _require_freeze() to tests Amir Goldstein
                   ` (3 more replies)
  0 siblings, 4 replies; 24+ messages in thread
From: Amir Goldstein @ 2022-06-19 13:46 UTC (permalink / raw)
  To: Zorro Lang; +Cc: Darrick J . Wong, Dave Chinner, fstests

Zorro,

I was analyzing a flakey test failure of xfs/517 and
fell down a rabbit hole of frzon fs cleanups.

Patch 4 fixes the false positive I was running into occasionnaly
in cases where xfs/517 was completed successfully.

While testing, I found out that if I interrupt the run of xfs/517
this often leaves the fs frozen. So I did an audit of the tests that
freeze the fs and found that very few of them unfreeze fs on interrupt.

This is an attempt to provide a robust solution that minimizes the
risks of that happenning.

I tested that all the tests in the 'freeze' group that I modified
run to completion.

I did not try to interrupt all the rest of the tests, because
interrupting a test at exact time that it is frozen is quite hard.

I did test that interrupting xfs/517 several times did not leave the fs
frozen.  Before the changes, it was rather easy to get it to leave a
frozen fs behind, because the freeze_loop() keeps the fs frozon around
half of the time that the test is running.

As far as I can tell, this series is orthogonal to Dave's _cleanup()
work [1]. It adds missing cleanups to tests (e.g. xfs/422) that could
later make use of the common cleanup helpers (i.e. _fsstress_cleanup).
However, the common _fsstress_cleanup() helper will need to kill without
waiting. To my understand, Dave was also against waiting in the cleanup
helper.

Thanks,
Amir.

[1] https://lore.kernel.org/fstests/20220524073411.1943480-1-david@fromorbit.com/

Amir Goldstein (4):
  fstests: add missing _require_freeze() to tests
  fstests: make sure to unfreeze test and scratch mounts
  xfs/{422,517}: add missing killall to _cleanup()
  xfs/{422,517}: fix false positive failure

 check             | 14 ++++++++------
 common/rc         |  5 +++--
 tests/generic/390 |  2 --
 tests/xfs/011     |  2 --
 tests/xfs/119     |  1 +
 tests/xfs/318     |  3 ++-
 tests/xfs/325     |  3 ++-
 tests/xfs/422     | 16 ++++++++++++++--
 tests/xfs/438     |  2 +-
 tests/xfs/517     |  8 ++++++--
 10 files changed, 37 insertions(+), 19 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2022-06-25  3:11 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-19 13:46 [PATCH 0/4] aborted fstests may leave frozen fs behind Amir Goldstein
2022-06-19 13:46 ` [PATCH 1/4] fstests: add missing _require_freeze() to tests Amir Goldstein
2022-06-23 18:00   ` Darrick J. Wong
2022-06-24  4:05     ` Amir Goldstein
2022-06-24  6:27       ` Zorro Lang
2022-06-19 13:46 ` [PATCH 2/4] fstests: make sure to unfreeze test and scratch mounts Amir Goldstein
2022-06-20 11:17   ` Zorro Lang
2022-06-20 12:13     ` Amir Goldstein
2022-06-20 14:21       ` Zorro Lang
2022-06-20 15:08         ` Amir Goldstein
2022-06-20 22:34         ` Dave Chinner
2022-06-21  2:53           ` Amir Goldstein
2022-06-20 22:06   ` Dave Chinner
2022-06-21  2:57     ` Amir Goldstein
2022-06-19 13:46 ` [PATCH 3/4] xfs/{422,517}: add missing killall to _cleanup() Amir Goldstein
2022-06-21  4:02   ` Amir Goldstein
2022-06-23 18:04     ` Darrick J. Wong
2022-06-24  4:36       ` Amir Goldstein
2022-06-24  6:31         ` Zorro Lang
2022-06-24  6:41           ` Amir Goldstein
2022-06-24 15:09             ` Zorro Lang
2022-06-24  4:49       ` Delegating fstests maintenance work (Was: Re: [PATCH 3/4] xfs/{422,517}: add missing killall to _cleanup()) Amir Goldstein
2022-06-25  3:11         ` Darrick J. Wong
2022-06-19 13:46 ` [PATCH 4/4] xfs/{422,517}: fix false positive failure Amir Goldstein

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox