This patch series introduces new per-btree accounting counters and uses
them for (hopefully) accurate progress reporting in recovery passes.
Also includes various assorted bugfixes.

The first commit ("Relax restrictions on the number of accounting 
counters") is optional, but will likely greatly improve the 
upgrade/tools version mismatch experience. Without it, all bree usage 
accounting will be thrown out and rebuilt on any version mismatch.

The second commit has the format change but does not contain the
upgrade/downgrade table entries. It is intended to be integrated
together with other accounting changes in a single version upgrade.

The last four commits are drive-by fixes/improvements, especially 
"Improve check_allocations pass speed not in fsck", which should make
the future accounting upgrades much faster.

Signed-off-by: Nikita Ofitserov <himi...@gmail.com>
---
Nikita Ofitserov (12):
      bcachefs: Relax restrictions on the number of accounting counters
      bcachefs: Introduce btree node number accounting
      bcachefs: Use explicit node counts in progress reporting
      bcachefs: Introduce btree_leaf_has_triggers_mask
      bcachefs: Better progress reporting for btree iteration without leaves
      bcachefs: Refactor/rename btree_type_has_ptrs
      bcachefs: More accurate progress reporting for inner node iteration
      bcachefs: Fix progress reporting for unknown btrees
      bcachefs: Partially fix old device removal with unknown btrees
      bcachefs: Improve check_allocations pass speed not in fsck
      bcachefs: Fix missing c->usage updates from early recovery
      bcachefs: Fix online hidden (sb+journal) data accounting

 fs/bcachefs/backpointers.c           |  6 ++++--
 fs/bcachefs/btree_gc.c               | 28 ++++++++++++++++--------
 fs/bcachefs/btree_trans_commit.c     |  3 +++
 fs/bcachefs/btree_types.h            | 11 ++++++----
 fs/bcachefs/buckets.c                | 16 +++++++++-----
 fs/bcachefs/disk_accounting.c        | 23 ++++++++++++++------
 fs/bcachefs/disk_accounting.h        | 14 +++++++-----
 fs/bcachefs/disk_accounting_format.h | 10 ++++++++-
 fs/bcachefs/migrate.c                | 18 ++++++++++------
 fs/bcachefs/move.c                   |  2 +-
 fs/bcachefs/progress.c               | 41 ++++++++++++++++++++++++++++++------
 fs/bcachefs/progress.h               | 12 ++++++++++-
 12 files changed, 136 insertions(+), 48 deletions(-)
---
base-commit: 8bf9cabd6109efc82bdccf6c450102d0be3ed3da
change-id: 20250826-better-progress-835d946a3c38

Best regards,
-- 
Nikita Ofitserov



Reply via email to