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(-)
On Tue, May 07, 2024 at 10:43:11AM -0400, Kent Overstreet wrote:
> Hi Linus, another stack of fixes for you.
I have a report from a user that the sb-downgrade validation has an
issue, so that's been yanked.
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.2
for you to fetch changes up to 6e297a73bccf852e7716207caa8eb868737c7155:
bcachefs: Add missing sched_annotate_sleep() in bch2_journal_flush_seq_async() (2024-05-07 11:02:37 -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 (19):
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 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-members.c | 6 ++---
fs/bcachefs/sb-members.h | 4 ++--
fs/bcachefs/super-io.c | 51 ++++++++++++++++++++++++++++--------------
fs/bcachefs/super.c | 15 ++++++++-----
20 files changed, 150 insertions(+), 71 deletions(-)
On Tue, May 07, 2024 at 11:10:44AM -0400, Kent Overstreet wrote:
> On Tue, May 07, 2024 at 10:43:11AM -0400, Kent Overstreet wrote:
> > Hi Linus, another stack of fixes for you.
>
> I have a report from a user that the sb-downgrade validation has an
> issue, so that's been yanked.
As a followup: the sb-downgrade patch was good, the user had at some
point been running an unreleased version (which adds new accounting for
amount of unstriped data in stripe buckets); and that version generated
a faulty downgrade entry (because it has custom logic for generating the
downgrade entry based on whether erasure coding is in use).
But I'm still holding that patch for now while I come up with something
for that user's filesystem - I'll probably add a flags parameter to that
validation code so that we only fail to validate if we're writing out
something new, like we already can for bkeys.
The pull request you sent on Tue, 7 May 2024 11:10:44 -0400:
> https://evilpiepirate.org/git/bcachefs.git tags/bcachefs-2024-05-07.2
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/f5fcbc8b435b483c46fef4a9bab41fd22639b2d1
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html