per the maintainer thread discussion and precedent in xfs and btrfs
for repair code in RCs, journal_rewind is again included
The following changes since commit e04c78d86a9699d136910cfc0bdcf01087e3267e:
Linux 6.16-rc2 (2025-06-15 13:49:41 -0700)
are available in the Git repository at:
git://evilpiepirate.org/bcachefs.git tags/bcachefs-2025-06-26
for you to fetch changes up to ef6fac0f9e5d0695cee1d820c727fe753eca52d5:
bcachefs: Plumb correct ip to trans_relock_fail tracepoint (2025-06-26
00:01:16 -0400)
----------------------------------------------------------------
bcachefs fixes for 6.16-rc4
----------------------------------------------------------------
Alan Huang (7):
bcachefs: Don't allocate new memory when mempool is exhausted
bcachefs: Fix alloc_req use after free
bcachefs: Add missing EBUG_ON
bcachefs: Delay calculation of trans->journal_u64s
bcachefs: Move bset size check before csum check
bcachefs: Fix pool->alloc NULL pointer dereference
bcachefs: Don't unlock the trans if ret doesn't match
BCH_ERR_operation_blocked
Bharadwaj Raju (1):
bcachefs: don't return fsck_fix for unfixable node errors in __btree_err
Kent Overstreet (43):
bcachefs: trace_extent_trim_atomic
bcachefs: btree iter tracepoints
bcachefs: Fix bch2_journal_keys_peek_prev_min()
bcachefs: btree_iter: fix updates, journal overlay
bcachefs: better __bch2_snapshot_is_ancestor() assert
bcachefs: pass last_seq into fs_journal_start()
bcachefs: Fix "now allowing incompatible features" message
bcachefs: Fix snapshot_key_missing_inode_snapshot repair
bcachefs: fsck: fix add_inode()
bcachefs: fsck: fix extent past end of inode repair
bcachefs: opts.journal_rewind
bcachefs: Kill unused tracepoints
bcachefs: mark more errors autofix
bcachefs: fsck: Improve check_key_has_inode()
bcachefs: Call bch2_fs_init_rw() early if we'll be going rw
bcachefs: Fix __bch2_inum_to_path() when crossing subvol boundaries
bcachefs: fsck: Print path when we find a subvol loop
bcachefs: fsck: Fix remove_backpointer() for subvol roots
bcachefs: fsck: Fix reattach_inode() for subvol roots
bcachefs: fsck: check_directory_structure runs in reverse order
bcachefs: fsck: additional diagnostics for reattach_inode()
bcachefs: fsck: check_subdir_count logs path
bcachefs: fsck: Fix check_path_loop() + snapshots
bcachefs: Fix bch2_read_bio_to_text()
bcachefs: Fix restart handling in btree_node_scrub_work()
bcachefs: fsck: Fix check_directory_structure when no check_dirents
bcachefs: fsck: fix unhandled restart in topology repair
bcachefs: fsck: Fix oops in key_visible_in_snapshot()
bcachefs: fix spurious error in read_btree_roots()
bcachefs: Fix missing newlines before ero
bcachefs: Fix *__bch2_trans_subbuf_alloc() error path
bcachefs: Don't log fsck err in the journal if doing repair elsewhere
bcachefs: Add missing key type checks to check_snapshot_exists()
bcachefs: Add missing bch2_err_class() to fileattr_set()
bcachefs: fix spurious error_throw
bcachefs: Fix range in bch2_lookup_indirect_extent() error path
bcachefs: Check for bad write buffer key when moving from journal
bcachefs: Use wait_on_allocator() when allocating journal
bcachefs: fix bch2_journal_keys_peek_prev_min() underflow
bcachefs: btree_root_unreadable_and_scan_found_nothing should not be
autofix
bcachefs: Ensure btree node scan runs before checking for scanned nodes
bcachefs: Ensure we rewind to run recovery passes
bcachefs: Plumb correct ip to trans_relock_fail tracepoint
fs/bcachefs/alloc_background.c | 13 +-
fs/bcachefs/backpointers.c | 2 +-
fs/bcachefs/bcachefs.h | 3 +-
fs/bcachefs/btree_gc.c | 37 ++--
fs/bcachefs/btree_io.c | 74 ++++----
fs/bcachefs/btree_iter.c | 173 ++++++++++++------
fs/bcachefs/btree_journal_iter.c | 82 ++++++---
fs/bcachefs/btree_journal_iter_types.h | 5 +-
fs/bcachefs/btree_locking.c | 12 +-
fs/bcachefs/btree_node_scan.c | 6 +-
fs/bcachefs/btree_node_scan.h | 2 +-
fs/bcachefs/btree_trans_commit.c | 18 +-
fs/bcachefs/btree_types.h | 1 +
fs/bcachefs/btree_update.c | 16 +-
fs/bcachefs/btree_update.h | 5 +-
fs/bcachefs/btree_update_interior.c | 16 +-
fs/bcachefs/btree_update_interior.h | 3 +
fs/bcachefs/btree_write_buffer.c | 8 +-
fs/bcachefs/btree_write_buffer.h | 6 +
fs/bcachefs/chardev.c | 29 ++-
fs/bcachefs/data_update.c | 1 +
fs/bcachefs/errcode.h | 5 -
fs/bcachefs/error.c | 4 +-
fs/bcachefs/extent_update.c | 13 +-
fs/bcachefs/fs.c | 3 +-
fs/bcachefs/fsck.c | 317 +++++++++++++++++++++++----------
fs/bcachefs/inode.h | 5 +
fs/bcachefs/io_read.c | 7 +-
fs/bcachefs/journal.c | 20 +--
fs/bcachefs/journal.h | 2 +-
fs/bcachefs/journal_io.c | 26 ++-
fs/bcachefs/namei.c | 30 +++-
fs/bcachefs/opts.h | 5 +
fs/bcachefs/recovery.c | 24 ++-
fs/bcachefs/recovery_passes.c | 19 +-
fs/bcachefs/recovery_passes.h | 9 +
fs/bcachefs/reflink.c | 12 +-
fs/bcachefs/sb-errors_format.h | 19 +-
fs/bcachefs/snapshot.c | 14 +-
fs/bcachefs/super.c | 13 +-
fs/bcachefs/super.h | 1 +
fs/bcachefs/trace.h | 125 +++----------
42 files changed, 734 insertions(+), 451 deletions(-)