These are the last of the on disk format changes that will be required
upgrades. Future on disk format changes will be optional - meaning
they'll require more compat code.
- metadata_version_cached_backpointers: scrub can now check cached data,
and (more importantly) the gc_gens pass for recalculating
bucket.oldest_gen is no longer required - necessary scalability item.
- metadata_version_stripe_backpointers: needed for scrub to properly
support erasure coding, and for future stripe repair code
- metadata_version_stripe_lru: we no longer have to read stripes into
memory at startup for the stripes heap, for reusing partially empty
stripes
- metadata_version_casefolding: I think this one will make some people
happy :)
Joshua, the casefolding patches needed some work to rebase, could you
look them over? Hongbo, I had to tweak your directory i_size code as
well.
Joshua Ashton (2):
bcachefs: Split out dirent alloc and name initialization
bcachefs: bcachefs_metadata_version_casefolding
Kent Overstreet (16):
bcachefs: bch2_lru_change() checks for no-op
bcachefs: s/BCH_LRU_FRAGMENTATION_START/BCH_LRU_BUCKET_FRAGMENTATION/
bcachefs: decouple bch2_lru_check_set() from alloc btree
bcachefs: Rework bch2_check_lru_key()
bcachefs: bch2_trigger_stripe_ptr() no longer uses
ec_stripes_heap_lock
bcachefs: Better trigger ordering
bcachefs: rework bch2_trans_commit_run_triggers()
bcachefs: bcachefs_metadata_version_cached_backpointers
bcachefs: Invalidate cached data by backpointers
bcachefs: Advance bch_alloc.oldest_gen if no stale pointers
bcachefs: bcachefs_metadata_version_stripe_backpointers
bcachefs: bcachefs_metadata_version_stripe_lru
bcachefs: ec_stripe_delete() uses new stripe lru
bcachefs: get_existing_stripe() uses new stripe lru
bcachefs: We no longer read stripes into memory at startup
bcachefs: Kill dirent_occupied_size()
.../filesystems/bcachefs/casefolding.rst | 87 ++++
fs/bcachefs/alloc_background.c | 147 ++++--
fs/bcachefs/backpointers.c | 14 +-
fs/bcachefs/backpointers.h | 15 +-
fs/bcachefs/bcachefs.h | 10 +-
fs/bcachefs/bcachefs_format.h | 9 +-
fs/bcachefs/btree_trans_commit.c | 89 ++--
fs/bcachefs/btree_types.h | 13 +
fs/bcachefs/btree_update.c | 3 +-
fs/bcachefs/buckets.c | 14 +-
fs/bcachefs/buckets.h | 27 --
fs/bcachefs/buckets_types.h | 27 ++
fs/bcachefs/dirent.c | 223 +++++++--
fs/bcachefs/dirent.h | 18 +-
fs/bcachefs/dirent_format.h | 20 +-
fs/bcachefs/ec.c | 429 ++++++------------
fs/bcachefs/ec.h | 46 +-
fs/bcachefs/ec_types.h | 12 +-
fs/bcachefs/fs-common.c | 42 +-
fs/bcachefs/fs-ioctl.c | 25 +
fs/bcachefs/fs-ioctl.h | 20 +-
fs/bcachefs/fs.c | 17 +
fs/bcachefs/fsck.c | 5 +-
fs/bcachefs/inode_format.h | 3 +-
fs/bcachefs/lru.c | 100 ++--
fs/bcachefs/lru.h | 22 +-
fs/bcachefs/lru_format.h | 6 +-
fs/bcachefs/move.c | 3 +
fs/bcachefs/movinggc.c | 4 +-
fs/bcachefs/recovery_passes_types.h | 2 +-
fs/bcachefs/sb-downgrade.c | 6 +
fs/bcachefs/sb-errors_format.h | 4 +-
fs/bcachefs/str_hash.c | 2 +-
fs/bcachefs/str_hash.h | 4 +
fs/bcachefs/super.c | 19 +
fs/bcachefs/sysfs.c | 5 -
36 files changed, 904 insertions(+), 588 deletions(-)
create mode 100644 Documentation/filesystems/bcachefs/casefolding.rst
--
2.45.2