diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-11-16 00:31:54 +0300 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-12-29 21:30:39 +0300 |
commit | c738866e47ef2e4d543698f0ab370ffe2b7e0d59 (patch) | |
tree | 2f6f532006d3b976af6dd2d75a274013cb467be0 /tools/perf/scripts/python/gecko.py | |
parent | 056cae1c00b9773aa69791f4703262f690c28cdb (diff) | |
download | linux-c738866e47ef2e4d543698f0ab370ffe2b7e0d59.tar.xz |
bcachefs: check_extents_to_backpointers() now only checks buckets with mismatches
Instead of walking every extent and every backpointer it points to,
first sum up backpointers in each bucket and check for mismatches, and
only look for missing backpointers if mismatches were detected, and only
check extents in those buckets.
This is a major fsck scalability improvement, since the two backpointers
passes (backpointers -> extents and extents -> backpointers) are the
most expensive fsck passes by far.
Additionally, to speed up the upgrade for backpointer bucket gens, or in
situations when we have to rebuild alloc info, add a special case for
when no backpointers are found in a bucket - don't check each individual
backpointer (in particular, avoiding the write buffer flushes), just
recreate them.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'tools/perf/scripts/python/gecko.py')
0 files changed, 0 insertions, 0 deletions