[GIT PULL] bcachefs fixes fro 6.9-rc6

From: Kent Overstreet
Date: Mon Apr 22 2024 - 15:54:27 EST


Hi Linus, another batch of bcachefs fixes.

Nothing too crazy in this one, and it looks like (fingers crossed) the
recovery and repair issues are settling down - although there's going to
be a long tail there, as we've still yet to really ramp up on error
injection or syzbot.

For users - if anyone is seeing bugs that impact filesystem
availability, make sure you're reporting those and be noisy about it;
all the non critical stuff should be reported too, but are lower
priority for now.

Cheers,
Kent

The following changes since commit ad29cf999a9161e7849aa229d2028854f90728c2:

bcachefs: set_btree_iter_dontneed also clears should_be_locked (2024-04-15 13:31:15 -0400)

are available in the Git repository at:

https://evilpiepirate.org/git/bcachefs.git tags/bcachefs-2024-04-22

for you to fetch changes up to e858beeddfa3a400844c0e22d2118b3b52f1ea5e:

bcachefs: If we run merges at a lower watermark, they must be nonblocking (2024-04-22 01:26:51 -0400)

----------------------------------------------------------------
bcachefs fixes for 6.9-rc6

- fix a few more deadlocks in recovery
- fix u32/u64 issues in mi_btree_bitmap
- btree key cache shrinker now actually frees, with more instrumentation
coming so we can verify that it's working correctly more easily in the
future

----------------------------------------------------------------
Kent Overstreet (14):
bcachefs: Fix null ptr deref in twf from BCH_IOCTL_FSCK_OFFLINE
bcachefs: node scan: ignore multiple nodes with same seq if interior
bcachefs: make sure to release last journal pin in replay
bcachefs: Fix bch2_dev_btree_bitmap_marked_sectors() shift
bcachefs: KEY_TYPE_error is allowed for reflink
bcachefs: fix leak in bch2_gc_write_reflink_key
bcachefs: Fix bio alloc in check_extent_checksum()
bcachefs: Check for journal entries overruning end of sb clean section
bcachefs: Fix missing call to bch2_fs_allocator_background_exit()
bcachefs: bkey_cached.btree_trans_barrier_seq needs to be a ulong
bcachefs: Tweak btree key cache shrinker so it actually frees
bcachefs: Fix deadlock in journal write path
bcachefs: Fix inode early destruction path
bcachefs: If we run merges at a lower watermark, they must be nonblocking

Nathan Chancellor (1):
bcachefs: Fix format specifier in validate_bset_keys()

fs/bcachefs/backpointers.c | 2 +-
fs/bcachefs/bcachefs_format.h | 3 +-
fs/bcachefs/btree_gc.c | 3 +-
fs/bcachefs/btree_io.c | 2 +-
fs/bcachefs/btree_key_cache.c | 19 +++---------
fs/bcachefs/btree_node_scan.c | 2 ++
fs/bcachefs/btree_types.h | 2 +-
fs/bcachefs/btree_update_interior.c | 6 +++-
fs/bcachefs/chardev.c | 4 ++-
fs/bcachefs/fs.c | 9 ++++--
fs/bcachefs/journal_io.c | 60 ++++++++++++++++++++++++++-----------
fs/bcachefs/recovery.c | 5 +++-
fs/bcachefs/sb-clean.c | 8 +++++
fs/bcachefs/sb-errors_types.h | 3 +-
fs/bcachefs/sb-members.c | 4 +--
fs/bcachefs/sb-members.h | 6 ++--
fs/bcachefs/super.c | 1 +
fs/bcachefs/thread_with_file.c | 15 ++++++++--
fs/bcachefs/thread_with_file.h | 3 ++
19 files changed, 105 insertions(+), 52 deletions(-)