Several more filesystems repaired, thank you to the users who have been providing testing. The snapshots + unlinked fixes on top of this are posted here: https://lore.kernel.org/linux-bcachefs/20241005182955.1588763-1-kent.overstreet@xxxxxxxxx/T/#t The following changes since commit 2007d28ec0095c6db0a24fd8bb8fe280c65446cd: bcachefs: rename version -> bversion for big endian builds (2024-09-29 23:55:52 -0400) are available in the Git repository at: git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-10-05 for you to fetch changes up to 0f25eb4b60771f08fbcca878a8f7f88086d0c885: bcachefs: Rework logged op error handling (2024-10-04 20:25:32 -0400) ---------------------------------------------------------------- bcachefs fixes for 6.12-rc2 A lot of little fixes, bigger ones include: - bcachefs's __wait_on_freeing_inode() was broken in rc1 due to vfs changes, now fixed along with another lost wakeup - fragmentation LRU fixes; fsck now repairs successfully (this is the data structure copygc uses); along with some nice simplification. - Rework logged op error handling, so that if logged op replay errors (due to another filesystem error) we delete the logged op instead of going into an infinite loop) - Various small filesystem connectivitity repair fixes The final part of this patch series, fixing snapshots + unlinked file handling, is now out on the list - I'm giving that part of the series more time for user testing. ---------------------------------------------------------------- Kent Overstreet (18): bcachefs: Fix bad shift in bch2_read_flag_list() bcachefs: Fix return type of dirent_points_to_inode_nowarn() bcachefs: Fix bch2_inode_is_open() check bcachefs: Fix trans_commit disk accounting revert bcachefs: Add missing wakeup to bch2_inode_hash_remove() bcachefs: Fix reattach_inode() bcachefs: Create lost+found in correct snapshot bcachefs: bkey errors are only AUTOFIX during read bcachefs: Make sure we print error that causes fsck to bail out bcachefs: Mark more errors AUTOFIX bcachefs: minor lru fsck fixes bcachefs: Kill alloc_v4.fragmentation_lru bcachefs: Check for directories with no backpointers bcachefs: Check for unlinked inodes with dirents bcachefs: Check for unlinked, non-empty dirs in check_inode() bcachefs: Kill snapshot arg to fsck_write_inode() bcachefs: Add warn param to subvol_get_snapshot, peek_inode bcachefs: Rework logged op error handling fs/bcachefs/alloc_background.c | 30 ++++-- fs/bcachefs/alloc_background_format.h | 2 +- fs/bcachefs/btree_gc.c | 3 - fs/bcachefs/btree_trans_commit.c | 3 +- fs/bcachefs/error.c | 23 +++- fs/bcachefs/error.h | 9 +- fs/bcachefs/fs.c | 33 +++--- fs/bcachefs/fsck.c | 194 ++++++++++++++++++++++------------ fs/bcachefs/inode.c | 44 +++----- fs/bcachefs/inode.h | 28 +++-- fs/bcachefs/io_misc.c | 63 +++++++---- fs/bcachefs/logged_ops.c | 16 +-- fs/bcachefs/logged_ops.h | 2 +- fs/bcachefs/lru.c | 34 +++--- fs/bcachefs/move.c | 2 +- fs/bcachefs/movinggc.c | 12 ++- fs/bcachefs/sb-errors_format.h | 33 +++--- fs/bcachefs/subvolume.c | 16 ++- fs/bcachefs/subvolume.h | 2 + fs/bcachefs/util.c | 2 +- 20 files changed, 342 insertions(+), 209 deletions(-)