[GIT PULL] Btrfs fixes for 7.0-rc3

From: David Sterba

Date: Tue Mar 03 2026 - 09:54:42 EST


Hi,

please pull the following btrfs fixes. There are one-liners or short
fixes of minor/moderate problems reported recently. Thanks.

- fixes or level adjustments of error messages

- fix leaked transaction handles after aborted transactions, when using
the remap tree feature

- fix a few leaked chunk maps after errors

- fix leaked page array in io_uring encoded read if an error occurs and
the 'finished' is not called

- fix double release of reserved extents when doing a range COW

- don't commit super block when the filesystem is in shutdown state

- fix squota accounting condition when checking members vs parent usage

- other error handling fixes

----------------------------------------------------------------
The following changes since commit ecb7c2484cfc83a93658907580035a8adf1e0a92:

btrfs: fix invalid leaf access in btrfs_quota_enable() if ref key not found (2026-02-18 15:25:54 +0100)

are available in the Git repository at:

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

for you to fetch changes up to f8db8009ea65297dba7786668d4561f6dbd99678:

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

----------------------------------------------------------------
Boris Burkov (1):
btrfs: fix referenced/exclusive check in squota_check_parent_usage()

Filipe Manana (5):
btrfs: change warning messages to error level in open_ctree()
btrfs: remove redundant warning message in btrfs_check_uuid_tree()
btrfs: remove btrfs_handle_fs_error() after failure to recover log trees
btrfs: convert log messages to error level in btrfs_replay_log()
btrfs: remove pointless WARN_ON() in cache_save_setup()

Jingkai Tan (1):
btrfs: handle discard errors in in btrfs_finish_extent_commit()

Mark Harmstone (10):
btrfs: fix error message order of parameters in btrfs_delete_delayed_dir_index()
btrfs: fix incorrect key offset in error message in check_dev_extent_item()
btrfs: fix objectid value in error message in check_extent_data_ref()
btrfs: fix warning in scrub_verify_one_metadata()
btrfs: print correct subvol num if active swapfile prevents deletion
btrfs: fix compat mask in error messages in btrfs_check_features()
btrfs: fix chunk map leak in btrfs_map_block() after btrfs_chunk_map_num_copies()
btrfs: fix chunk map leak in btrfs_map_block() after btrfs_translate_remap()
btrfs: fix transaction handle leaks in btrfs_last_identity_remap_gone()
btrfs: check block group lookup in remove_range_from_remap_tree()

Miquel Sabaté Solà (2):
btrfs: free pages on error in btrfs_uring_read_extent()
btrfs: don't commit the super block when unmounting a shutdown filesystem

Qu Wenruo (1):
btrfs: fix a double release on reserved extents in cow_one_range()

fs/btrfs/block-group.c | 1 -
fs/btrfs/delayed-inode.c | 2 +-
fs/btrfs/disk-io.c | 36 +++++++++++++++++++++---------------
fs/btrfs/extent-tree.c | 8 +++++++-
fs/btrfs/inode.c | 19 +++++++++++++++++--
fs/btrfs/ioctl.c | 7 ++++++-
fs/btrfs/qgroup.c | 2 +-
fs/btrfs/relocation.c | 6 ++++++
fs/btrfs/scrub.c | 2 +-
fs/btrfs/tree-checker.c | 4 ++--
fs/btrfs/volumes.c | 8 +++++---
11 files changed, 67 insertions(+), 28 deletions(-)