[GIT PULL] Btrfs fixes for 7.2-rc5

From: David Sterba

Date: Tue Jul 21 2026 - 00:28:20 EST


Hi,

please pull the following fixes. I'm catching up with fix backlog in
the development branch, so here's a number of them and will probably send
one more for this or the next rc.

Thanks.

- relocation fixes
- skip attempting compression on reloc inodes
- exclude inline extents from file extent offset checks
- fix minor memory leak after error when adding reloc root
- fix root cleanup after inserting and merging

- fix clearing folio tags after writeback

- clear logging flag of extent map before splitting

- fix unsigned 32/64 type conversions when accounting dirty metadata,
leading to continually exceeding threshold

- fix regression in 32bit compat ioctl for subvolume info

- fix type of SEARCH_TREE ioctl buffer in UAPI header

- fix expression in ASSERT expression which can be unconditionally
evaluated on some compilers

- only account delalloc bytes for regular inodes

----------------------------------------------------------------
The following changes since commit c0041b502e579a5c52e5cae918b90678f03faddd:

btrfs: print-tree: print header owner as signed (2026-06-30 02:02:03 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-7.2-rc4-tag

for you to fetch changes up to 75a41e3e51eb0d6f7a4969c5056298c2aa3e85f2:

btrfs: fix GET_SUBVOL_INFO after compat refactor (2026-07-14 07:05:10 +0200)

----------------------------------------------------------------
Daan De Meyer (1):
btrfs: fix GET_SUBVOL_INFO after compat refactor

Dave Chen (2):
btrfs: only account delalloc bytes for regular file inodes in btrfs_getattr()
btrfs: fix u32 to s64 type conversion in dirty_metadata_bytes accounting

Filipe Manana (3):
btrfs: fix use-after-free on reloc root after error in insert_dirty_subvol()
btrfs: fix reloc root cleanup in merge_reloc_roots()
btrfs: fix NULL pointer deref during assertion in btrfs_backref_free_node()

Guanghui Yang (1):
btrfs: free mapping node on duplicate reloc root insert

Leo Martins (1):
btrfs: don't propagate EXTENT_FLAG_LOGGING to split extent maps

Qu Wenruo (3):
btrfs: do not try compression for data reloc inodes
btrfs: reject inline file extents item in get_new_location()
btrfs: fix a regression where PAGECACHE_TAG_DIRTY is never cleared

You-Kai Zheng (1):
btrfs: declare btrfs_ioctl_search_args_v2::buf as __u8

fs/btrfs/backref.c | 5 ++++-
fs/btrfs/btrfs_inode.h | 2 ++
fs/btrfs/extent_io.c | 4 ++--
fs/btrfs/extent_map.c | 4 ++--
fs/btrfs/inode.c | 3 ++-
fs/btrfs/ioctl.c | 1 +
fs/btrfs/relocation.c | 55 ++++++++++++++++++++++++++++++++++++----------
fs/btrfs/subpage.c | 26 +++++++++++++++++++---
include/uapi/linux/btrfs.h | 2 +-
9 files changed, 80 insertions(+), 22 deletions(-)