The following changes since commit 19272b37aa4f83ca52bdf9c16d5d81bdd1354494: Linux 6.16-rc1 (2025-06-08 13:44:43 -0700) are available in the Git repository at: git://evilpiepirate.org/bcachefs.git tags/bcachefs-2025-06-12 for you to fetch changes up to aef22f6fe7a630d536f9eaa0a7a2ed0f90ea369e: bcachefs: Don't trace should_be_locked unless changing (2025-06-11 23:25:41 -0400) ---------------------------------------------------------------- bcachefs fixes for 6.16-rc2 As usual, highlighting the ones users have been noticing: - Fix a small issue with has_case_insensitive not being propagated on snapshot creation; this led to fsck errors, which we're harmless because we're not using this flag yet (it's for overlayfs + casefolding). - Log the error being corrected in the journal when we're doing fsck repair: this was one of the "lessons learned" from the i_nlink 0 -> subvolume deletion bug, where reconstructing what had happened by analyzing the journal was a bit more difficult than it needed to be. - Don't schedule btree node scan to run in the superblock: this fixes a regression from the 6.16 recovery passes rework, and let to it running unnecessarily. The real issue here is that we don't have online, "self healing" style topology repair yet: topology repair currently has to run before we go RW, which means that we may schedule it unnecessarily after a transient error. This will be fixed in the future. - We now track, in btree node flags, the reason it was scheduled to be rewritten. We discovered a deadlock in recovery when many btree nodes need to be rewritten because they're degraded: fully fixing this will take some work but it's now easier to see what's going on. For the bug report where this came up, a device had been kicked RO due to transient errors: manually setting it back to RW was sufficient to allow recovery to succeed. - Mark a few more fsck errors as autofix: as a reminder to users, please do keep reporting cases where something needs to be repaired and is not repaired automatically (i.e. cases where -o fix_errors or fsck -y is required). - rcu_pending.c now works with PREEMPT_RT - 'bcachefs device add', then umount, then remount wasn't working - we now emit a uevent so that the new device's new superblock is correctly picked up - Assorted repair fixes: btree node scan will no longer incorrectly update sb->version_min, - Assorted syzbot fixes ---------------------------------------------------------------- Alan Huang (1): bcachefs: Fix possible console lock involved deadlock Arnd Bergmann (1): bcachefs: ioctl: avoid stack overflow warning Kent Overstreet (21): bcachefs: Add missing restart handling to check_topology() bcachefs: Log fsck errors in the journal bcachefs: Add range being updated to btree_update_to_text() bcachefs: Add more flags to btree nodes for rewrite reason bcachefs: Update /dev/disk/by-uuid on device add bcachefs: Mark need_discard_freespace_key_bad autofix bcachefs: Only run 'increase_depth' for keys from btree node csan bcachefs: Read error message now prints if self healing bcachefs: Don't persistently run scan_for_btree_nodes bcachefs: mark more errors autofix bcachefs: Make sure opts.read_only gets propagated back to VFS bcachefs: Don't put rhashtable on stack bcachefs: Fix downgrade_table_extra() bcachefs: Fix rcu_pending for PREEMPT_RT bcachefs: Fix leak in bch2_fs_recovery() error path bcachefs: Don't pass trans to fsck_err() in gc_accounting_done bcachefs: Fix version checks in validate_bset() bcachefs: Don't trust sb->nr_devices in members_to_text() bcachefs: Print devices we're mounting on multi device filesystems bcachefs: Ensure that snapshot creation propagates has_case_insensitive bcachefs: Don't trace should_be_locked unless changing fs/bcachefs/bcachefs.h | 1 - fs/bcachefs/btree_gc.c | 95 +++++++++++++++++++++++-------------- fs/bcachefs/btree_io.c | 26 +++++++--- fs/bcachefs/btree_locking.c | 2 +- fs/bcachefs/btree_locking.h | 6 ++- fs/bcachefs/btree_types.h | 29 +++++++++++ fs/bcachefs/btree_update_interior.c | 33 ++++++++++++- fs/bcachefs/btree_update_interior.h | 7 +++ fs/bcachefs/chardev.c | 4 +- fs/bcachefs/disk_accounting.c | 4 +- fs/bcachefs/error.c | 5 +- fs/bcachefs/fs.c | 8 ++++ fs/bcachefs/io_read.c | 11 ++++- fs/bcachefs/io_read.h | 1 + fs/bcachefs/movinggc.c | 22 +++++---- fs/bcachefs/namei.c | 10 ++++ fs/bcachefs/rcu_pending.c | 22 ++++----- fs/bcachefs/recovery.c | 27 ++++++++--- fs/bcachefs/recovery_passes.c | 14 ++++-- fs/bcachefs/sb-downgrade.c | 5 +- fs/bcachefs/sb-errors_format.h | 10 ++-- fs/bcachefs/sb-members.c | 34 +++++++++++-- fs/bcachefs/super.c | 47 ++++++++++++------ fs/bcachefs/util.c | 10 +--- fs/bcachefs/util.h | 2 +- 25 files changed, 319 insertions(+), 116 deletions(-)