FS/XFS testing framework
 help / color / mirror / Atom feed
* [PATCHBOMB v2024.08.25] fstests: catch us up to xfsprogs 6.10
@ 2024-08-27 18:42 Darrick J. Wong
  2024-08-27 18:44 ` [PATCHSET v31.0 1/5] fstests: detect deceptive filename extensions Darrick J. Wong
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Darrick J. Wong @ 2024-08-27 18:42 UTC (permalink / raw)
  To: Zorro Lang; +Cc: fstests, xfs, Christoph Hellwig

Hi Zorro,

Now that Carlos has released xfsprogs 6.10, here's some new functional
tests for the improvements that landed this cycle.  This includes the
new realtime volume FITRIM support, filesystem properties, deceptive
name detection in xfs_scrub, and the (hopefully final) structure of the
background xfs_scrub systemd services.

--D

^ permalink raw reply	[flat|nested] 21+ messages in thread
* [PATCHSET v29.0 7/8] fstests: use free space histograms to reduce fstrim runtime
@ 2023-12-31 19:58 Darrick J. Wong
  2023-12-27 13:45 ` [PATCH 1/1] xfs/004: fix column extraction code Darrick J. Wong
  0 siblings, 1 reply; 21+ messages in thread
From: Darrick J. Wong @ 2023-12-31 19:58 UTC (permalink / raw)
  To: djwong, zlang; +Cc: fstests, linux-xfs, guan

Hi all,

This patchset dramatically reduces the runtime of the FITRIM calls made
during phase 8 of xfs_scrub.  It turns out that phase 8 can really get
bogged down if the free space contains a large number of very small
extents.  In these cases, the runtime can increase by an order of
magnitude to free less than 1% of the free space.  This is not worth the
time, since we're spending a lot of time to do very little work.  The
FITRIM ioctl allows us to specify a minimum extent length, so we can use
statistical methods to compute a minlen parameter.

It turns out xfs_db/spaceman already have the code needed to create
histograms of free space extent lengths.  We add the ability to compute
a CDF of the extent lengths, which make it easy to pick a minimum length
corresponding to 99% of the free space.  In most cases, this results in
dramatic reductions in phase 8 runtime.  Hence, move the histogram code
to libfrog, and wire up xfs_scrub, since phase 7 already walks the
fsmap.

We also add a new -o suboption to xfs_scrub so that people who /do/ want
to examine every free extent can do so.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems.  Enjoy!
Comments and questions are, as always, welcome.

--D

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=scrub-fstrim-minlen-freesp-histogram

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=scrub-fstrim-minlen-freesp-histogram
---
 tests/xfs/004 |   19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)


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

end of thread, other threads:[~2024-08-30  5:57 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-27 18:42 [PATCHBOMB v2024.08.25] fstests: catch us up to xfsprogs 6.10 Darrick J. Wong
2024-08-27 18:44 ` [PATCHSET v31.0 1/5] fstests: detect deceptive filename extensions Darrick J. Wong
2024-08-27 18:45   ` [PATCH 1/2] generic/453: test confusable name detection with 32-bit unicode codepoints Darrick J. Wong
2024-08-30  5:55     ` Christoph Hellwig
2024-08-27 18:46   ` [PATCH 2/2] generic/453: check xfs_scrub detection of confusing job offers Darrick J. Wong
2024-08-30  5:55     ` Christoph Hellwig
2024-08-27 18:44 ` [PATCHSET v31.0 2/5] fstests: test systemd background services Darrick J. Wong
2024-08-27 18:46   ` [PATCH 1/1] xfs: test xfs_scrub services Darrick J. Wong
2024-08-30  5:56     ` Christoph Hellwig
2024-08-27 18:45 ` [PATCHSET v31.0 3/5] fstests: use free space histograms to reduce fstrim runtime Darrick J. Wong
2024-08-27 18:46   ` [PATCH 1/1] xfs/004: fix column extraction code Darrick J. Wong
2024-08-30  5:57     ` Christoph Hellwig
2024-08-27 18:45 ` [PATCHSET v4.1 4/5] fstests: enable FITRIM for the realtime section Darrick J. Wong
2024-08-27 18:46   ` [PATCH 1/2] xfs: refactor statfs field extraction Darrick J. Wong
2024-08-30  5:57     ` Christoph Hellwig
2024-08-27 18:47   ` [PATCH 2/2] common/xfs: FITRIM now supports realtime volumes Darrick J. Wong
2024-08-30  5:57     ` Christoph Hellwig
2024-08-27 18:45 ` [PATCHSET v31.0 5/5] fstests: xfs filesystem properties Darrick J. Wong
2024-08-27 18:47   ` [PATCH 1/1] xfs: functional testing for " Darrick J. Wong
2024-08-30  5:57     ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2023-12-31 19:58 [PATCHSET v29.0 7/8] fstests: use free space histograms to reduce fstrim runtime Darrick J. Wong
2023-12-27 13:45 ` [PATCH 1/1] xfs/004: fix column extraction code Darrick J. Wong

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