Search
Btrfs updates for 6.9
Link Actions
Hi,
there are mostly stabilization, refactoring and cleanup changes. There rest are minor performance optimizations due to caching or lock contention reduction and a few notable fixes.
Please pull, thanks.
Performance improvements:
- minor speedup in logging when repeatedly allocated structure is preallocated only once, improves latency and decreases lock contention
- minor throughput increase (+6%), reduced lock contention after clearing delayed allocation bits, applies to several common workload types
- skip full quota rescan if a new relation is added in the same transaction
Fixes:
- zstd fix for inline compressed file in subpage mode, updated version from the 6.8 time
- proper qgroup inheritance ioctl parameter validation
- more fiemap followup fixes after reduced locking done in 6.8
- fix race when detecting delalloc ranges
Core changes:
- more debugging code
- added assertions for a very rare crash in raid56 calculation
- tree-checker dumps page state to g
Btrfs updates for 6.5
Hi,
there are mainly core changes, refactoring and optimizations. Performance is improved in some areas, overall there may be a cumulative improvement due to refactoring that removed lookups in the IO path or simplified IO submission tracking.
No merge conflicts. Please pull, thanks.
Core:
- submit IO synchronously for fast checksums (crc32c and xxhash), remove high priority worker kthread
- read extent buffer in one go, simplify IO tracking, bio submission and locking
- remove additional tracking of redirtied extent buffers, originally added for zoned mode but actually not needed
- track ordered extent pointer in bio to avoid rbtree lookups during IO
- scrub, use recovered data stripes as cache to avoid unnecessary read
- in zoned mode, optimize logical to physical mappings of extents
- remove PageError handling, not set by VFS nor writeback
- cleanups, refactoring, better structure packing
- lots of error handling improvements
- more assertions, lockdep annotations