Hi Linus, another batch of fixes for you. Nothing terribly exciting, the usual mix of syzbot + user bug fixes. The following changes since commit 83a7eefedc9b56fe7bfeff13b6c7356688ffa670: Linux 6.10-rc3 (2024-06-09 14:19:43 -0700) are available in the Git repository at: https://evilpiepirate.org/git/bcachefs.git tags/bcachefs-2024-06-12 for you to fetch changes up to f2736b9c791a126ecb9cfc1aef1c7b4152b66e2d: bcachefs: Fix rcu_read_lock() leak in drop_extra_replicas (2024-06-11 18:59:08 -0400) ---------------------------------------------------------------- bcachefs fixes for 6.10-rc4 - fix kworker explosion, due to calling submit_bio() (which can block) from a multithreaded workqueue - fix error handling in btree node scan - forward compat fix: kill an old debug assert - key cache shrinker fixes this is a partial fix for stalls doing multithreaded creates - there were various O(n^2) issues the key cache shrinker was hitting https://lore.kernel.org/linux-bcachefs/fmfpgkt3dlzxhotrfmqg3j3wn5bpqiqvlc44xllncvdkimmx3i@n4okabtvhu7t/ there's more work coming here; I'm working on a patch to delete the key cache lock, which initial testing shows to be a pretty drastic performance improvement - assorted syzbot fixes ---------------------------------------------------------------- Hongbo Li (1): bcachefs: fix the display format for show-super Kent Overstreet (16): bcachefs: Split out btree_write_submit_wq bcachefs: Fix incorrect error handling found_btree_node_is_readable() bcachefs: Delete incorrect BTREE_ID_NR assertion bcachefs: fix stack frame size in fsck.c bcachefs: Enable automatic shrinking for rhashtables bcachefs: increase key cache shrinker batch size bcachefs: set sb->s_shrinker->seeks = 0 bcachefs: Fix reporting of freed objects from key cache shrinker bcachefs: Leave a buffer in the btree key cache to avoid lock thrashing bcachefs: Fix refcount leak in check_fix_ptrs() bcachefs: Fix snapshot_create_lock lock ordering bcachefs: Replace bucket_valid() asserts in bucket lookup with proper checks bcachefs: Check for invalid bucket from bucket_gen(), gc_bucket() bcachefs: Add missing synchronize_srcu_expedited() call when shutting down bcachefs: Add missing bch_inode_info.ei_flags init bcachefs: Fix rcu_read_lock() leak in drop_extra_replicas fs/bcachefs/alloc_background.c | 22 +++- fs/bcachefs/bcachefs.h | 3 +- fs/bcachefs/btree_cache.c | 9 +- fs/bcachefs/btree_gc.c | 17 ++- fs/bcachefs/btree_io.c | 8 +- fs/bcachefs/btree_iter.c | 11 +- fs/bcachefs/btree_key_cache.c | 33 +++-- fs/bcachefs/btree_node_scan.c | 9 +- fs/bcachefs/buckets.c | 293 +++++++++++++++++++++++------------------ fs/bcachefs/buckets.h | 17 ++- fs/bcachefs/buckets_types.h | 2 + fs/bcachefs/data_update.c | 3 +- fs/bcachefs/ec.c | 26 +++- fs/bcachefs/extents.c | 9 +- fs/bcachefs/fs-ioctl.c | 17 +-- fs/bcachefs/fs.c | 3 + fs/bcachefs/fsck.c | 3 + fs/bcachefs/io_read.c | 37 ++++-- fs/bcachefs/io_write.c | 19 ++- fs/bcachefs/movinggc.c | 7 +- fs/bcachefs/super-io.c | 6 +- fs/bcachefs/super.c | 10 +- 22 files changed, 344 insertions(+), 220 deletions(-)