[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <xu2afkq5jhn62z3juxkbvs2idoyldruyv3h65ympwx2svbgjia@2qqk5e6pcdoc>
Date: Fri, 16 Aug 2024 21:20:03 -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.11-rc4
Hi Linus, fresh batch of fixes for you.
We still have one regression from the disk accounting rewrite
outstanding: we have a user reporting that the checks in
bch2_accounting_validate() are firing, and in a codepath where that
shouldn't be possible. Something funny is going on.
Aside from that, everything is looking good for 6.11, and I expect we'll
have that one resolved soon.
The following changes since commit 8a2491db7bea6ad88ec568731eafd583501f1c96:
bcachefs: bcachefs_metadata_version_disk_accounting_v3 (2024-08-09 19:21:28 -0400)
are available in the Git repository at:
git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-08-16
for you to fetch changes up to 0e49d3ff12501adaafaf6fdb19699f021d1eda1c:
bcachefs: Fix locking in __bch2_trans_mark_dev_sb() (2024-08-16 20:45:15 -0400)
----------------------------------------------------------------
bcachefs fixes for 6.11-rc4
- New on disk format version, bcachefs_metadata_version_disk_accounting_inum
This adds one more disk accounting counter, which counts disk usage and
number of extents per inode number. This lets us track fragmentation,
for implementing defragmentation later, and it also counts disk usage
per inode in all snapshots, which will be a useful thing to expose to
users.
- One performance issue we've observed is threads spinning when they
should be waiting for dirty keys in the key cache to be flushed by
journal reclaim, so we now have hysteresis for the waiting thread, as
well as improving the tracepoint and a new time_stat, for tracking time
blocked waiting on key cache flushing.
And, various assorted smaller fixes.
----------------------------------------------------------------
Kent Overstreet (19):
bcachefs: delete faulty fastpath in bch2_btree_path_traverse_cached()
bcachefs: Fix bch2_trigger_alloc when upgrading from old versions
bcachefs: bch2_accounting_invalid() fixup
bcachefs: disk accounting: ignore unknown types
bcachefs: Add missing downgrade table entry
bcachefs: Convert for_each_btree_node() to lockrestart_do()
lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc()
bcachefs: Add hysteresis to waiting on btree key cache flush
bcachefs: Improve trans_blocked_journal_reclaim tracepoint
bcachefs: Add a time_stat for blocked on key cache flush
bcachefs: Fix warning in __bch2_fsck_err() for trans not passed in
bcachefs: Make bkey_fsck_err() a wrapper around fsck_err()
bcachefs: Kill __bch2_accounting_mem_mod()
bcachefs: bcachefs_metadata_version_disk_accounting_inum
bcachefs: Increase size of cuckoo hash table on too many rehashes
bcachefs: Fix forgetting to pass trans to fsck_err()
bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru
bcachefs: fix incorrect i_state usage
bcachefs: Fix locking in __bch2_trans_mark_dev_sb()
fs/bcachefs/alloc_background.c | 77 ++++++++--------
fs/bcachefs/alloc_background.h | 30 +++----
fs/bcachefs/backpointers.c | 23 ++---
fs/bcachefs/backpointers.h | 5 +-
fs/bcachefs/bcachefs.h | 1 +
fs/bcachefs/bcachefs_format.h | 3 +-
fs/bcachefs/bkey.h | 7 +-
fs/bcachefs/bkey_methods.c | 109 +++++++++++-----------
fs/bcachefs/bkey_methods.h | 21 +++--
fs/bcachefs/btree_gc.c | 5 +-
fs/bcachefs/btree_io.c | 69 +++++---------
fs/bcachefs/btree_iter.c | 1 +
fs/bcachefs/btree_iter.h | 42 +++++----
fs/bcachefs/btree_key_cache.c | 5 --
fs/bcachefs/btree_key_cache.h | 18 +++-
fs/bcachefs/btree_node_scan.c | 2 +-
fs/bcachefs/btree_trans_commit.c | 82 +++++------------
fs/bcachefs/btree_update_interior.c | 16 +---
fs/bcachefs/buckets.c | 30 +++++--
fs/bcachefs/buckets_waiting_for_journal.c | 11 ++-
fs/bcachefs/data_update.c | 6 +-
fs/bcachefs/debug.c | 38 ++------
fs/bcachefs/dirent.c | 33 ++++---
fs/bcachefs/dirent.h | 5 +-
fs/bcachefs/disk_accounting.c | 34 ++++---
fs/bcachefs/disk_accounting.h | 60 ++++++-------
fs/bcachefs/disk_accounting_format.h | 8 +-
fs/bcachefs/ec.c | 15 ++--
fs/bcachefs/ec.h | 5 +-
fs/bcachefs/errcode.h | 1 +
fs/bcachefs/error.c | 22 +++++
fs/bcachefs/error.h | 39 ++++----
fs/bcachefs/extents.c | 144 +++++++++++++++---------------
fs/bcachefs/extents.h | 24 ++---
fs/bcachefs/fs.c | 2 +-
fs/bcachefs/inode.c | 77 ++++++++--------
fs/bcachefs/inode.h | 24 ++---
fs/bcachefs/journal_io.c | 24 ++---
fs/bcachefs/lru.c | 9 +-
fs/bcachefs/lru.h | 5 +-
fs/bcachefs/quota.c | 8 +-
fs/bcachefs/quota.h | 5 +-
fs/bcachefs/reflink.c | 19 ++--
fs/bcachefs/reflink.h | 22 ++---
fs/bcachefs/sb-downgrade.c | 6 +-
fs/bcachefs/snapshot.c | 42 +++++----
fs/bcachefs/snapshot.h | 11 ++-
fs/bcachefs/subvolume.c | 16 ++--
fs/bcachefs/subvolume.h | 5 +-
fs/bcachefs/trace.c | 1 +
fs/bcachefs/trace.h | 27 +++++-
fs/bcachefs/xattr.c | 21 +++--
fs/bcachefs/xattr.h | 5 +-
lib/generic-radix-tree.c | 2 +
54 files changed, 650 insertions(+), 672 deletions(-)
Powered by blists - more mailing lists