Merge tag 'for-6.14-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull btrfs updates from David Sterba: "User visible changes, features: - rebuilding of the free space tree at mount time is done in more transactions, fix potential hangs when the transaction thread is blocked due to large amount of block groups - more read IO balancing strategies (experimental config), add two new ways how to select a device for read if the profiles allow that (all RAID1*), the current default selects the device by pid which is good on average but less performant for single reader workloads - select preferred device for all reads (namely for testing) - round-robin, balance reads across devices relevant for the requested IO range - add encoded write ioctl support to io_uring (read was added in 6.12), basis for writing send stream using that instead of syscalls, non-blocking mode is not yet implemented - support FS_IOC_READ_VERITY_METADATA, applications can use the metadata to do their own verification - pass inode's i_write_hint to bios, for parity with other filesystems, ioctls F_GET_RW_HINT/F_SET_RW_HINT Core: - in zoned mode: allow to directly reclaim a block group by simply resetting it, then it can be reused and another block group does not need to be allocated - super block validation now also does more comprehensive sys array validation, adding it to the points where superblock is validated (post-read, pre-write) - subpage mode fixes: - fix double accounting of blocks due to some races - improved or fixed error handling in a few cases (compression, delalloc) - raid stripe tree: - fix various cases with extent range splitting or deleting - implement hole punching to extent range - reduce number of stripe tree lookups during bio submission - more self-tests - updated self-tests (delayed refs) - error handling improvements - cleanups, refactoring - remove rest of backref caching infrastructure from relocation, not needed anymore - error message updates - remove unnecessary calls when extent buffer was marked dirty - unused parameter removal - code moved to new files Other code changes: add rb_find_add_cached() to the rb-tree API" * tag 'for-6.14-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (127 commits) btrfs: selftests: add a selftest for deleting two out of three extents btrfs: selftests: add test for punching a hole into 3 RAID stripe-extents btrfs: selftests: add selftest for punching holes into the RAID stripe extents btrfs: selftests: test RAID stripe-tree deletion spanning two items btrfs: selftests: don't split RAID extents in half btrfs: selftests: check for correct return value of failed lookup btrfs: don't use btrfs_set_item_key_safe on RAID stripe-extents btrfs: implement hole punching for RAID stripe extents btrfs: fix deletion of a range spanning parts two RAID stripe extents btrfs: fix tail delete of RAID stripe-extents btrfs: fix front delete range calculation for RAID stripe extents btrfs: assert RAID stripe-extent length is always greater than 0 btrfs: don't try to delete RAID stripe-extents if we don't need to btrfs: selftests: correct RAID stripe-tree feature flag setting btrfs: add io_uring interface for encoded writes btrfs: remove the unused locked_folio parameter from btrfs_cleanup_ordered_extents() btrfs: add extra error messages for delalloc range related errors btrfs: subpage: dump the involved bitmap when ASSERT() failed btrfs: subpage: fix the bitmap dump of the locked flags btrfs: do proper folio cleanup when run_delalloc_nocow() failed ...
No related branches found
No related tags found
Showing
- fs/btrfs/Makefile 1 addition, 1 deletionfs/btrfs/Makefile
- fs/btrfs/async-thread.c 3 additions, 3 deletionsfs/btrfs/async-thread.c
- fs/btrfs/backref.c 63 additions, 109 deletionsfs/btrfs/backref.c
- fs/btrfs/backref.h 6 additions, 10 deletionsfs/btrfs/backref.h
- fs/btrfs/bio.c 9 additions, 2 deletionsfs/btrfs/bio.c
- fs/btrfs/block-group.c 28 additions, 36 deletionsfs/btrfs/block-group.c
- fs/btrfs/block-rsv.c 3 additions, 7 deletionsfs/btrfs/block-rsv.c
- fs/btrfs/btrfs_inode.h 1 addition, 1 deletionfs/btrfs/btrfs_inode.h
- fs/btrfs/ctree.c 1 addition, 67 deletionsfs/btrfs/ctree.c
- fs/btrfs/ctree.h 0 additions, 29 deletionsfs/btrfs/ctree.h
- fs/btrfs/delalloc-space.c 1 addition, 1 deletionfs/btrfs/delalloc-space.c
- fs/btrfs/delayed-inode.c 21 additions, 28 deletionsfs/btrfs/delayed-inode.c
- fs/btrfs/delayed-ref.c 56 additions, 33 deletionsfs/btrfs/delayed-ref.c
- fs/btrfs/delayed-ref.h 1 addition, 0 deletionsfs/btrfs/delayed-ref.h
- fs/btrfs/dev-replace.c 0 additions, 3 deletionsfs/btrfs/dev-replace.c
- fs/btrfs/dir-item.c 0 additions, 2 deletionsfs/btrfs/dir-item.c
- fs/btrfs/direct-io.c 1 addition, 2 deletionsfs/btrfs/direct-io.c
- fs/btrfs/disk-io.c 74 additions, 1 deletionfs/btrfs/disk-io.c
- fs/btrfs/disk-io.h 0 additions, 3 deletionsfs/btrfs/disk-io.h
- fs/btrfs/extent-tree.c 100 additions, 102 deletionsfs/btrfs/extent-tree.c
Loading
Please register or sign in to comment