]> www.infradead.org Git - users/willy/linux.git/commit
bcachefs: Refactor disk accounting data structures
authorKent Overstreet <kent.overstreet@linux.dev>
Thu, 6 Jun 2024 17:25:28 +0000 (13:25 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 14 Jul 2024 23:00:15 +0000 (19:00 -0400)
commit2574e95a8b78ef853100d6889f154883fec989a2
treeddc315624c4ba849ea387100f917f9e8762ea6d6
parentb5597347a5c7182dba80f9fb561c404abb3cead8
bcachefs: Refactor disk accounting data structures

Break up the percpu counter allocations into individual allocations for
each disk accounting counter; this fixes an issue on large systems where
we have too many replica entries to for the percpu allocator's max
practical size.

Also, use just one eytzinger tree for the normal set of counters and the
gc counters; this simplifies accounting_gc_done() where we need the same
set of counters to be present in both tables.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bcachefs.h
fs/bcachefs/btree_gc.c
fs/bcachefs/disk_accounting.c
fs/bcachefs/disk_accounting.h
fs/bcachefs/disk_accounting_types.h