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(-)