[GIT PULL] Btrfs fixes for 7.1-rc5

From: David Sterba

Date: Sat May 23 2026 - 11:04:25 EST


Hi,

please pull a batch of fixes to simple quotas and one fix to inode size
handling. Thanks.

- simple quota fixes:
- add conditional rescheduling point not dependent on the lock during
inode iterations to avoid delays with PREEMPT_NONE enabled
- fix subvolume deletion so it does not break the squota invariants
- properly handle enabling squota, tracking extents in the initial
transaction
- catch and warn about underflows, clamp to zero to avoid further
problems

- fix handling of preallocated extents beyond i_size when not using the
no-holes feature

----------------------------------------------------------------
The following changes since commit c562ba61fc5e11798720acc1b172862158f1fa0b:

btrfs: fix incorrect i_size after remount caused by KEEP_SIZE prealloc gap (2026-05-08 00:32:08 +0200)

are available in the Git repository at:

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

for you to fetch changes up to f13342e15deafb7538a7a8577ed5f4c33c56f64e:

btrfs: swallow btrfs_record_squota_delta() ENOENT (2026-05-16 03:08:40 +0200)

----------------------------------------------------------------
Boris Burkov (5):
btrfs: always drop root->inodes lock before cond_resched()
btrfs: check for subvolume before deleting squota qgroup
btrfs: fix squota accounting during enable generation
btrfs: clamp to avoid squota underflow
btrfs: swallow btrfs_record_squota_delta() ENOENT

Robbie Ko (1):
btrfs: mark file extent range dirty after converting prealloc extents

fs/btrfs/extent_map.c | 4 +-
fs/btrfs/file.c | 11 ++++--
fs/btrfs/fs.h | 1 +
fs/btrfs/inode.c | 4 +-
fs/btrfs/qgroup.c | 101 +++++++++++++++++++++++++++++++++-----------------
5 files changed, 83 insertions(+), 38 deletions(-)