[GIT PULL] Btrfs fixes for 7.2-rc5

David Sterba <[email protected]> Tue, 21 Jul 2026 06:28:05 +0200
Newsgroups org.kernel.vger.linux-btrfs,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
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(-)