[GIT PULL] bcachefs fixes for 6.9

From: Kent Overstreet
Date: Tue May 07 2024 - 10:43:23 EST


Hi Linus, another stack of fixes for you.

Apologies for the size of the pull request, it's almost all syzbot stuff
which we just started receiving, and pretty much all simple validation
fixes. One user reported bugfix in here, a fix for an integer overflow
which was preventing returning the full list of extents to filefrag().

The following changes since commit c258c08add1cc8fa7719f112c5db36c08c507f1e:

bcachefs: fix integer conversion bug (2024-04-28 21:34:29 -0400)

are available in the Git repository at:

https://evilpiepirate.org/git/bcachefs.git/ tags/bcachefs-2024-05-07

for you to fetch changes up to 536502fc14db1fd3e12e6871828f773bd1ef854e:

bcachefs: Add missing sched_annotate_sleep() in bch2_journal_flush_seq_async() (2024-05-06 23:12:09 -0400)

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

- Various syzbot fixes; mainly small gaps in validation
- Fix an integer overflow in fiemap() which was preventing filefrag from
returning the full list of extents
- Fix a refcounting bug on the device refcount, turned up by new
assertions in the development branch
- Fix a device removal/readd bug; write_super() was repeatedly dropping
and retaking bch_dev->io_ref references

----------------------------------------------------------------
Kent Overstreet (20):
bcachefs: Fix a scheduler splat in __bch2_next_write_buffer_flush_journal_buf()
bcachefs: don't free error pointers
bcachefs: bucket_pos_to_bp_noerror()
bcachefs: Fix early error path in bch2_fs_btree_key_cache_exit()
bcachefs: Inodes need extra padding for varint_decode_fast()
bcachefs: Fix refcount put in sb_field_resize error path
bcachefs: Initialize bch_write_op->failed in inline data path
bcachefs: Fix bch2_dev_lookup() refcounting
bcachefs: Fix lifetime issue in device iterator helpers
bcachefs: Add a better limit for maximum number of buckets
bcachefs: Fix assert in bch2_alloc_v4_invalid()
bcachefs: Add missing validation for superblock section clean
bcachefs: Guard against unknown k.k->type in __bkey_invalid()
bcachefs: Fix shift-by-64 in bformat_needs_redo()
bcachefs: Fix snapshot_t() usage in bch2_fs_quota_read_inode()
bcachefs: Add missing skcipher_request_set_callback() call
bcachefs: BCH_SB_LAYOUT_SIZE_BITS_MAX
bcachefs: Fix sb_field_downgrade validation
bcachefs: Fix race in bch2_write_super()
bcachefs: Add missing sched_annotate_sleep() in bch2_journal_flush_seq_async()

Reed Riley (1):
bcachefs: fix overflow in fiemap

fs/bcachefs/alloc_background.c | 4 ++--
fs/bcachefs/alloc_background.h | 8 +++++--
fs/bcachefs/backpointers.c | 2 +-
fs/bcachefs/backpointers.h | 14 ++++++++----
fs/bcachefs/bcachefs_format.h | 8 +++++++
fs/bcachefs/bkey_methods.c | 4 ++--
fs/bcachefs/btree_key_cache.c | 16 +++++++------
fs/bcachefs/checksum.c | 1 +
fs/bcachefs/errcode.h | 1 +
fs/bcachefs/fs.c | 2 +-
fs/bcachefs/io_write.c | 30 ++++++++++++++++---------
fs/bcachefs/journal.c | 8 +++++++
fs/bcachefs/move.c | 22 +++++++++++-------
fs/bcachefs/quota.c | 8 +++----
fs/bcachefs/recovery.c | 3 ++-
fs/bcachefs/sb-clean.c | 14 ++++++++++++
fs/bcachefs/sb-downgrade.c | 13 +++++++++--
fs/bcachefs/sb-members.c | 6 ++---
fs/bcachefs/sb-members.h | 4 ++--
fs/bcachefs/super-io.c | 51 ++++++++++++++++++++++++++++--------------
fs/bcachefs/super.c | 15 ++++++++-----
21 files changed, 161 insertions(+), 73 deletions(-)