[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <oxjgqivjmn43zo5dj2u43u432gmfexxjc6xxqcig5jovna3fe3@youegmmszsip>
Date: Thu, 12 Jun 2025 22:10:42 -0400
From: Kent Overstreet <kent.overstreet@...ux.dev>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-bcachefs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [GIT PULL] bcachefs fixes for 6.16-rc2
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(-)
Powered by blists - more mailing lists