[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <l7pfaexlj6hs56znw754bwl2spconvhnmbnqxkju5vqxienp4w@h2eocgvgdlip>
Date: Thu, 24 Apr 2025 22:46:40 -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.15-rc4
There's a story behind the case insensitive directory fixes, and lessons
to be learned.
When I was discussing with the developer who did the implementation, I
noted that fstests should already have tests.
However, it seems I neglected to tell him to make sure the tests
actually run. So, there's a lesson here, and since inadequate testing
keeps coming up, let me state it now:
It is _not_ enough to simply rely on the automated tests.
You have to have eyes on what your code is doing. That means that until
you've thoroughly Familiarized yourself with the code you're working on
and the test suites, you need to look - with your eyes - and confirm
that the tests are doing what you think they're doing and your code is
doing what you think it's doing.
If you're not 100% sure that your code is doing what you think it's
doing, it's your responsibility to dig in and verify - add printks,
tracepoints, counters, whatever it takes.
Automated test infrastructure is a backstop because there are times when
we are all forgetful and miss things.
You have to run your code locally, and look at what it does. I've
provided good tools for this. If you're working on my code, make sure
you're using them.
The following changes since commit 9c32cda43eb78f78c73aee4aa344b777714e259b:
Linux 6.15-rc3 (2025-04-20 13:43:47 -0700)
are available in the Git repository at:
git://evilpiepirate.org/bcachefs.git tags/bcachefs-2025-04-24
for you to fetch changes up to d1b0f9aa73fe50ee5276708e33d77c4e7054e555:
bcachefs: Rework fiemap transaction restart handling (2025-04-24 19:10:29 -0400)
----------------------------------------------------------------
bcachefs fixes for 6.15-rc4
- Case insensitive directories now work
- Ciemap now correctly reports on unwritten pagecache data
- bcachefs tools 1.25.1 was incorrectly picking unaligned bucket sizes;
fix journal and write path bugs this uncovered
And assorted smaller fixes...
----------------------------------------------------------------
Brian Foster (4):
bcachefs: drop duplicate fiemap sync flag
bcachefs: track current fiemap offset in start variable
bcachefs: refactor fiemap processing into extent helper and struct
bcachefs: add fiemap delalloc extent detection
Kent Overstreet (20):
bcachefs: Fix early startup error path
bcachefs: Fix null ptr deref in bch2_snapshot_tree_oldest_subvol()
bcachefs: Error ratelimiting is no longer only during fsck
bcachefs: Stricter checks on "key allowed in this btree"
bcachefs: Ensure journal space is block size aligned
bcachefs: Change __journal_entry_close() assert to ERO
bcachefs: Fix ref leak in write_super()
bcachefs: bch2_copygc_wakeup()
bcachefs: Refactor bch2_run_recovery_passes()
bcachefs: Start copygc, rebalance threads earlier
bcachefs: Allocator now copes with unaligned buckets
bcachefs: Implement fileattr_(get|set)
bcachefs: Casefold is now a regular opts.h option
bcachefs: Fix casefold lookups
bcachefs: unlink: casefold d_invalidate
bcachefs: Print mount opts earlier
bcachefs: Unit test fixes
bcachefs: Make btree_iter_peek_prev() assert more precise
bcachefs: Fix btree_iter_peek_prev() at end of inode
bcachefs: Rework fiemap transaction restart handling
fs/bcachefs/alloc_foreground.c | 2 +
fs/bcachefs/alloc_foreground.h | 4 +-
fs/bcachefs/bcachefs_format.h | 81 +++----
fs/bcachefs/bkey_methods.c | 24 ++-
fs/bcachefs/btree_iter.c | 7 +-
fs/bcachefs/dirent.c | 16 +-
fs/bcachefs/dirent.h | 15 ++
fs/bcachefs/error.c | 17 +-
fs/bcachefs/error.h | 1 +
fs/bcachefs/fs-ioctl.c | 217 -------------------
fs/bcachefs/fs-ioctl.h | 75 -------
fs/bcachefs/fs.c | 469 ++++++++++++++++++++++++++++++++++-------
fs/bcachefs/inode.h | 8 +
fs/bcachefs/inode_format.h | 9 +-
fs/bcachefs/journal.c | 36 +++-
fs/bcachefs/journal.h | 7 +-
fs/bcachefs/journal_reclaim.c | 5 +-
fs/bcachefs/movinggc.c | 7 +
fs/bcachefs/movinggc.h | 9 +
fs/bcachefs/namei.c | 4 -
fs/bcachefs/opts.h | 5 +
fs/bcachefs/rebalance.c | 11 +-
fs/bcachefs/rebalance.h | 2 +-
fs/bcachefs/recovery.c | 10 +-
fs/bcachefs/recovery_passes.c | 70 +++---
fs/bcachefs/snapshot.c | 2 +-
fs/bcachefs/str_hash.h | 5 +-
fs/bcachefs/super-io.c | 3 +-
fs/bcachefs/super.c | 150 ++++++-------
fs/bcachefs/sysfs.c | 7 +-
fs/bcachefs/tests.c | 4 +
fs/bcachefs/util.h | 38 ++++
32 files changed, 735 insertions(+), 585 deletions(-)
Powered by blists - more mailing lists