bcachefs: bucket_gens btree
authorKent Overstreet <kent.overstreet@linux.dev>
Sat, 26 Nov 2022 04:14:30 +0000 (23:14 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:51 +0000 (17:09 -0400)
commit5250b74d55e16246a47bdcf1182b7469e28e0652
treeb7f758f4e3a40f27caf1e1bee89eedd3df5f5924
parent19fe87e00b6a601b2ec8251d0231f4c9b3bb5002
bcachefs: bucket_gens btree

To improve mount times, add a btree for just bucket gens, 256 of them
per key: this means we'll have to scan drastically less metadata at
startup.

This adds
 - trigger for keeping it in sync with the all btree
 - initialization code, for filesystems from previous versions
 - new path for reading bucket gens
 - new fsck code

And a new on disk format version.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/alloc_background.c
fs/bcachefs/alloc_background.h
fs/bcachefs/bcachefs.h
fs/bcachefs/bcachefs_format.h
fs/bcachefs/bkey_methods.c
fs/bcachefs/recovery.c