Hi Linus, another small bcachefs pull. Some fixes, Some refactoring, some minor features. Cheers, Kent The following changes since commit 169de41985f53320580f3d347534966ea83343ca: bcachefs: eytzinger0_find() search should be const (2024-01-05 23:24:46 -0500) are available in the Git repository at: https://evilpiepirate.org/git/bcachefs.git tags/bcachefs-2024-01-21 for you to fetch changes up to 249f441f83c546281f1c175756c81fac332bb64c: bcachefs: Improve inode_to_text() (2024-01-21 13:27:11 -0500) ---------------------------------------------------------------- More bcachefs updates for 6.7-rc1 - assorted prep work for disk space accounting rewrite - BTREE_TRIGGER_ATOMIC: after combining our trigger callbacks, this makes our trigger context more explicit - A few fixes to avoid excessive transaction restarts on multithreaded workloads: fstests (in addition to ktest tests) are now checking slowpath counters, and that's shaking out a few bugs - Assorted tracepoint improvements - Starting to break up bcachefs_format.h and move on disk types so they're with the code they belong to; this will make room to start documenting the on disk format better. - A few minor fixes ---------------------------------------------------------------- Colin Ian King (1): bcachefs: remove redundant variable tmp Kent Overstreet (42): bcachefs: Don't log errors if BCH_WRITE_ALLOC_NOWAIT bcachefs: eytzinger_for_each() declares loop iter bcachefs: drop to_text code for obsolete bps in alloc keys bcachefs: BTREE_TRIGGER_ATOMIC bcachefs: helpers for printing data types bcachefs: bch2_prt_compression_type() bcachefs: bch_fs_usage_base bcachefs: bch2_trans_account_disk_usage_change() bcachefs: Reduce would_deadlock restarts bcachefs: Don't pass memcmp() as a pointer bcachefs: Add .val_to_text() for KEY_TYPE_cookie bcachefs: bch2_kthread_io_clock_wait() no longer sleeps until full amount bcachefs: Re-add move_extent_write tracepoint bcachefs: Add missing bch2_moving_ctxt_flush_all() bcachefs: Improve move_extent tracepoint bcachefs: Avoid flushing the journal in the discard path bcachefs: Print size of superblock with space allocated bcachefs: Better journal tracepoints bcachefs: bkey_and_val_eq() bcachefs: extents_to_bp_state bcachefs: Fix excess transaction restarts in __bchfs_fallocate() bcachefs: Improve trace_trans_restart_relock bcachefs: bios must be 512 byte algined bcachefs: Prep work for variable size btree node buffers bcachefs: opts->compression can now also be applied in the background bcachefs: add missing __GFP_NOWARN bcachefs: bch_snapshot::btime bcachefs: comment bch_subvolume bcachefs: counters.c -> sb-counters.c bcachefs: sb-counters_format.h bcachefs; quota_format.h bcachefs: inode_format.h bcachefs: dirent_format.h bcachefs: xattr_format.h bcachefs: alloc_background_format.h bcachefs: snapshot_format.h bcachefs: subvolume_format.h bcachefs: ec_format.h bcachefs; extents_format.h bcachefs: reflink_format.h bcachefs: logged_ops_format.h bcachefs: Improve inode_to_text() Su Yue (3): bcachefs: fix memleak in bch2_split_devs bcachefs: kvfree bch_fs::snapshots in bch2_fs_snapshots_exit bcachefs: grab s_umount only if snapshotting fs/bcachefs/Makefile | 2 +- fs/bcachefs/alloc_background.c | 89 +-- fs/bcachefs/alloc_background_format.h | 92 ++++ fs/bcachefs/alloc_foreground.c | 7 +- fs/bcachefs/backpointers.c | 100 ++-- fs/bcachefs/backpointers.h | 1 + fs/bcachefs/bcachefs.h | 5 - fs/bcachefs/bcachefs_format.h | 888 +----------------------------- fs/bcachefs/bkey.c | 2 +- fs/bcachefs/bkey_methods.c | 9 + fs/bcachefs/bkey_methods.h | 10 +- fs/bcachefs/bset.c | 7 +- fs/bcachefs/bset.h | 3 +- fs/bcachefs/btree_cache.c | 12 +- fs/bcachefs/btree_cache.h | 19 +- fs/bcachefs/btree_gc.c | 36 +- fs/bcachefs/btree_io.c | 38 +- fs/bcachefs/btree_iter.c | 2 +- fs/bcachefs/btree_iter.h | 5 + fs/bcachefs/btree_locking.c | 40 +- fs/bcachefs/btree_locking.h | 9 +- fs/bcachefs/btree_trans_commit.c | 35 +- fs/bcachefs/btree_types.h | 12 +- fs/bcachefs/btree_update_interior.c | 8 +- fs/bcachefs/btree_update_interior.h | 42 +- fs/bcachefs/btree_write_buffer.c | 7 +- fs/bcachefs/buckets.c | 148 ++--- fs/bcachefs/buckets.h | 17 + fs/bcachefs/buckets_types.h | 15 +- fs/bcachefs/clock.c | 4 +- fs/bcachefs/compress.h | 8 + fs/bcachefs/data_update.c | 6 +- fs/bcachefs/debug.c | 16 +- fs/bcachefs/dirent_format.h | 42 ++ fs/bcachefs/ec.c | 6 +- fs/bcachefs/ec_format.h | 19 + fs/bcachefs/extents.c | 11 +- fs/bcachefs/extents.h | 2 +- fs/bcachefs/extents_format.h | 295 ++++++++++ fs/bcachefs/eytzinger.h | 4 +- fs/bcachefs/fs-io-direct.c | 4 + fs/bcachefs/fs-io-pagecache.c | 37 +- fs/bcachefs/fs-io-pagecache.h | 2 +- fs/bcachefs/fs-io.c | 7 +- fs/bcachefs/fs-ioctl.c | 11 +- fs/bcachefs/inode.c | 29 +- fs/bcachefs/inode_format.h | 166 ++++++ fs/bcachefs/io_misc.c | 4 +- fs/bcachefs/io_write.c | 13 +- fs/bcachefs/journal.c | 111 ++-- fs/bcachefs/journal_io.c | 5 +- fs/bcachefs/logged_ops_format.h | 30 + fs/bcachefs/move.c | 65 ++- fs/bcachefs/opts.c | 4 +- fs/bcachefs/opts.h | 9 +- fs/bcachefs/quota_format.h | 47 ++ fs/bcachefs/rebalance.c | 13 +- fs/bcachefs/recovery.c | 2 +- fs/bcachefs/reflink.c | 21 +- fs/bcachefs/reflink.h | 8 +- fs/bcachefs/reflink_format.h | 33 ++ fs/bcachefs/replicas.c | 28 +- fs/bcachefs/sb-clean.c | 2 +- fs/bcachefs/{counters.c => sb-counters.c} | 2 +- fs/bcachefs/{counters.h => sb-counters.h} | 7 +- fs/bcachefs/sb-counters_format.h | 98 ++++ fs/bcachefs/sb-members.c | 4 +- fs/bcachefs/snapshot.c | 4 +- fs/bcachefs/snapshot_format.h | 36 ++ fs/bcachefs/subvolume_format.h | 35 ++ fs/bcachefs/super-io.c | 6 +- fs/bcachefs/super.c | 6 +- fs/bcachefs/sysfs.c | 15 +- fs/bcachefs/trace.h | 76 +-- fs/bcachefs/util.c | 15 +- fs/bcachefs/util.h | 3 +- fs/bcachefs/xattr.c | 5 +- fs/bcachefs/xattr_format.h | 19 + 78 files changed, 1629 insertions(+), 1426 deletions(-) create mode 100644 fs/bcachefs/alloc_background_format.h create mode 100644 fs/bcachefs/dirent_format.h create mode 100644 fs/bcachefs/ec_format.h create mode 100644 fs/bcachefs/extents_format.h create mode 100644 fs/bcachefs/inode_format.h create mode 100644 fs/bcachefs/logged_ops_format.h create mode 100644 fs/bcachefs/quota_format.h create mode 100644 fs/bcachefs/reflink_format.h rename fs/bcachefs/{counters.c => sb-counters.c} (99%) rename fs/bcachefs/{counters.h => sb-counters.h} (77%) create mode 100644 fs/bcachefs/sb-counters_format.h create mode 100644 fs/bcachefs/snapshot_format.h create mode 100644 fs/bcachefs/subvolume_format.h create mode 100644 fs/bcachefs/xattr_format.h