[GIT PULL] Btrfs fixes for 7.0-rc4

From: David Sterba

Date: Thu Mar 12 2026 - 11:44:36 EST


Hi,

please pull the following fixes. Some of them are for user actions that
can lead to transaction abort and turn the filesystem read-only. Thanks.

- detect possible file name hash collision earlier so it does not lead
to transaction abort

- handle b-tree leaf overflows when snapshotting a subvolume with set
received UUID, leading to transaction abort

- in zoned mode, reorder relocation block group initialization after the
transaction kthread start

- fix orphan cleanup state tracking of subvolume, this could lead to
invalid dentries under some conditions

- add locking around updates of dynamic reclain state update

- in subpage mode, add missing RCU unlock when trying to releae extent
buffer

- remap tree fixes:
- add missing description strings for the newly added remap tree
- properly update search key when iterating backrefs

----------------------------------------------------------------
The following changes since commit f8db8009ea65297dba7786668d4561f6dbd99678:

btrfs: check block group lookup in remove_range_from_remap_tree() (2026-02-26 15:03:29 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-7.0-rc3-tag

for you to fetch changes up to 0749cab6174dc035b1628fb6db03abf758cfda6f:

btrfs: remove duplicated definition of btrfs_printk_in_rcu() (2026-03-03 17:20:51 +0100)

----------------------------------------------------------------
Bart Van Assche (1):
btrfs: add missing RCU unlock in error path in try_release_subpage_extent_buffer()

Boris Burkov (1):
btrfs: set BTRFS_ROOT_ORPHAN_CLEANUP during subvol create

Filipe Manana (6):
btrfs: fix transaction abort on file creation due to name hash collision
btrfs: fix transaction abort when snapshotting received subvolumes
btrfs: fix transaction abort on set received ioctl due to item overflow
btrfs: abort transaction on failure to update root in the received subvol ioctl
btrfs: remove unnecessary transaction abort in the received subvol ioctl
btrfs: remove duplicated definition of btrfs_printk_in_rcu()

Johannes Thumshirn (1):
btrfs: zoned: move btrfs_zoned_reserve_data_reloc_bg() after kthread start

Mark Harmstone (2):
btrfs: print-tree: add remap tree definitions
btrfs: read key again after incrementing slot in move_existing_remaps()

Sun YangKai (1):
btrfs: hold space_info->lock when clearing periodic reclaim ready

fs/btrfs/disk-io.c | 7 ++++++-
fs/btrfs/extent_io.c | 1 +
fs/btrfs/inode.c | 19 +++++++++++++++++++
fs/btrfs/ioctl.c | 32 ++++++++++++++++++++++++++++----
fs/btrfs/messages.h | 3 ---
fs/btrfs/print-tree.c | 10 ++++++++++
fs/btrfs/relocation.c | 2 ++
fs/btrfs/space-info.c | 5 ++++-
fs/btrfs/transaction.c | 16 ++++++++++++++++
fs/btrfs/uuid-tree.c | 38 ++++++++++++++++++++++++++++++++++++++
fs/btrfs/uuid-tree.h | 2 ++
11 files changed, 126 insertions(+), 9 deletions(-)