[GIT PULL] More bcachefs fixes for 6.7

From: Kent Overstreet
Date: Sun Dec 10 2023 - 18:59:14 EST


Hi Linus, more bcachefs fixes for 6.7. Nothing terribly exciting, the
bug squashing continues...

Cheers,
Kent

----------------------------------------------------------------

The following changes since commit 33cc938e65a98f1d29d0a18403dbbee050dcad9a:

Linux 6.7-rc4 (2023-12-03 18:52:56 +0900)

are available in the Git repository at:

https://evilpiepirate.org/git/bcachefs.git tags/bcachefs-2023-12-10

for you to fetch changes up to a66ff26b0f31189e413a87065c25949c359e4bef:

bcachefs: Close journal entry if necessary when flushing all pins (2023-12-10 16:53:46 -0500)

----------------------------------------------------------------
More bcachefs bugfixes for 6.7:

- Fix a rare emergency shutdown path bug: dropping journal pins after
the filesystem has mostly been torn down is not what we want.
- Fix some concurrency issues with the btree write buffer and journal
replay by not using the btree write buffer until journal replay is
finished
- A fixup from the prior patch to kill journal pre-reservations: at the
start of the btree update path, where previously we took a
pre-reservation, we do at least want to check the journal watermark.
- Fix a race between dropping device metadata and btree node writes,
which would re-add a pointer to a device that had just been dropped
- Fix one of the SCRU lock warnings, in
bch2_compression_stats_to_text().
- Partial fix for a rare transaction paths overflow, when indirect
extents had been split by background tasks, by not running certain
triggers when they're not needed.
- Fix for creating a snapshot with implicit source in a subdirectory of
the containing subvolume
- Don't unfreeze when we're emergency read-only
- Fix for rebalance spinning trying to compress unwritten extentns
- Another deleted_inodes fix, for directories
- Fix a rare deadlock (usually just an unecessary wait) when flushing
the journal with an open journal entry.

----------------------------------------------------------------
Brian Foster (1):
bcachefs: don't attempt rw on unfreeze when shutdown

Daniel Hill (1):
bcachefs: rebalance shouldn't attempt to compress unwritten extents

Kent Overstreet (10):
bcachefs: Don't drop journal pins in exit path
bcachefs; Don't use btree write buffer until journal replay is finished
bcachefs: Fix a journal deadlock in replay
bcachefs: Fix bch2_extent_drop_ptrs() call
bcachefs: Convert compression_stats to for_each_btree_key2
bcachefs: Don't run indirect extent trigger unless inserting/deleting
bcachefs: Fix creating snapshot with implict source
bcachefs: Fix deleted inode check for dirs
bcachefs: Fix uninitialized var in bch2_journal_replay()
bcachefs: Close journal entry if necessary when flushing all pins

fs/bcachefs/btree_cache.c | 8 +++-----
fs/bcachefs/btree_io.c | 4 ++--
fs/bcachefs/btree_io.h | 3 ---
fs/bcachefs/btree_key_cache.c | 2 --
fs/bcachefs/btree_update.c | 16 ++++++++++++++++
fs/bcachefs/btree_update_interior.c | 11 +++++++++++
fs/bcachefs/data_update.c | 4 ++--
fs/bcachefs/dirent.c | 19 +++++++++++--------
fs/bcachefs/dirent.h | 1 +
fs/bcachefs/extents.c | 3 ++-
fs/bcachefs/fs-ioctl.c | 2 +-
fs/bcachefs/fs.c | 3 +++
fs/bcachefs/inode.c | 15 ++++++++++-----
fs/bcachefs/journal.c | 8 ++++----
fs/bcachefs/journal.h | 1 +
fs/bcachefs/journal_io.c | 1 +
fs/bcachefs/journal_reclaim.c | 3 +++
fs/bcachefs/recovery.c | 2 +-
fs/bcachefs/reflink.c | 8 ++++++++
fs/bcachefs/sysfs.c | 8 ++++----
20 files changed, 84 insertions(+), 38 deletions(-)