[GIT PULL] Btrfs fixes for 7.3-rc7

From: David Sterba

Date: Wed Oct 07 2026 - 10:16:25 EST


Hi,

please pull a few more fixes, mostly error handling. Half of that is for
io_uring integration with encoded read/write ioctls.

Thanks.

- fix command queuing and cleanup in encoded read/write ioctls

- fix root and transaction association to avoid unnecessary lock
contention and transaction start

- properly handle replacing multiple xattrs in the same item

- in scrub, fix root reference leak after reporting an unresolved file
path

----------------------------------------------------------------
The following changes since commit 72de4807ba84da485dda1a91572d66da9149e95a:

btrfs: derive f_fsid with dev_t only when temp_fsid is active (2026-09-17 19:45:12 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-7.3-rc6-tag

for you to fetch changes up to 41c8899d59898f6fa51ceebd2b6e55257191a8ee:

btrfs: fix lost error return value in btrfs_listxattr() (2026-10-05 16:05:44 +0200)

----------------------------------------------------------------
Filipe Manana (3):
btrfs: clear BTRFS_ROOT_IN_TRANS_SETUP on early exit from record_root_in_trans()
btrfs: fix xattr replace when multiple xattrs are packed in the same item
btrfs: fix lost error return value in btrfs_listxattr()

Wentao Liang (1):
btrfs: scrub: fix local_root reference leak in scrub_print_warning_inode()

Yang Xiuwei (4):
btrfs: always return -EIOCBQUEUED after btrfs_uring_read_extent_endio
btrfs: free iov when btrfs_uring_read_extent() fails
btrfs: unlock inode and extent in caller when io_uring read extent fails
btrfs: don't stash io_uring encoded data across -EAGAIN

fs/btrfs/inode.c | 7 +++----
fs/btrfs/ioctl.c | 31 ++++++++++++++++---------------
fs/btrfs/scrub.c | 4 +++-
fs/btrfs/transaction.c | 1 +
fs/btrfs/xattr.c | 15 +++++++++++----
5 files changed, 34 insertions(+), 24 deletions(-)