tag name | bcachefs-2025-07-28 (0f273f437dad2aba49d4e76edc36309e3adf6e90) |
tag date | 2025-07-28 10:50:18 -0400 |
tagged by | Kent Overstreet <kent.overstreet@linux.dev> |
tagged object | commit c0d938c16b... |
bcachefs changes for 6.17-rc1
No noteworthy feature work: we're in hard freeze.
Lots of bugfixes. Assorted user visible changes and fixes:
- Fix a major performance bug when deleting many files: this was caused
by the key cache caching keys that had been deleted, causing certain
lookups in the inode triggers to scan excessively.
- The "io_read_nopromote" counter has been broken out into sub-counters;
these can be seen with 'bcachefs fs top' on a recent bcachefs-tools.
This helps when diagnosing why reads aren't coming from the cache.
- Congestion tracking is now a bit less aggressive (this controls when
we decide to do a promote); this area still needs more work.
- Metadata writes are no longer throttled by writeback throttling
- Nocow writes can now be rebalanced (e.g. background_target,
background_compression options)
- (Almost) all recovery passes now have progress indicators.
- Repair improvements: we'll now reconstruct missing inodes if we find
contents for that inode (more than one or two keys), not just if the
inodes btree was damaged: similarly for 'dirent to missing inode'.
- Btree node tracepoint improvements: they've been converted to more
modern printbuf tracepoints, and include significantly more info.
- Fix in-memory accounting going out of sync with the accounting btree
when doing accounting updates before going RW.
- BCH_MIN_NR_BUCKETS (minimum number of buckets per device) has been
increased from 64 to 512. In the unlikely event that anyone anyone
actually was using bcachefs on sub 128M filesystems and doesn't want
to lose access (modern tools will format these small filesystems with
a more appropriate bucket size), please file a report or contact me.
(This was just a syzbot issue, so far as I know).
- CLASS()/guard() conversion: a great deal of code has been converted to
the new __cleanup based resource handling, and away from 'goto err'
cleanup.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmiHklIACgkQE6szbY3K
bnbSwQ/9EYdpzT43yMc2j+igqncWEL3IoWd6drnm3E4P6xy35L0WbwPMQGr3AiNo
5vMx2rg562MIh3NppgYxCKyj07MvHYKpLVRRBj0Ox3tfF11dx9yXqpLG0YhRqH0t
wlU6BdX4d/wdSjZq6/9penFa+qntveeQaRc/MGC+2LCQNCxCOwcwdp+uCASW8JJS
y6Voq9MUEcIez+WHX7g6zeNG/EyRqVHZk5BoDYElBt4x3Fc2EiSyHWuTD2Y6EU4Y
asrNJYdkztnOEe0Xf+Occ7ImvnsJLfwEmKU5d2o1/PXuYxQHZt387jJNWwg7j1W2
VT5csL1Q69XhRV/FVSXYspryvs+JANVWZJmKUgcnBtMxmuv3J6NBPhrEM/fH/7M4
7s9Z1hn09dv+ODkQ9sYbTgGwFDv3JuqtlrckdDnifOYWebnkTjC/YT872Gq/iTlC
JcbmNeSESzNq2yFX7Myfab/sPB5R+Gl2jKxqQphU2i7ObRUfOCbfKP0ybiZIxktq
TBq+wsQLlvmm+0lW2bLklC1V4Tuy7gecNou+wD9MKNSx6qMek7YwAye7Oq46dIDA
rJxL1K4sro2Iky70nWJWQJ2KB9MFQGEqHoA28rpV0UqW1lthbev+RR/k0sdL7m/O
CvaN/tvTQCfPteiA87cabUF89PlMfK79Aqwv4y+e6QIBt3oxGXk=
=VCq9
-----END PGP SIGNATURE-----