[GIT PULL] Btrfs fixes for 5.18-rc2

From: David Sterba
Date: Tue Apr 05 2022 - 20:40:43 EST


please pull the following fixes for btrfs, thanks.

- prevent deleting subvolume with active swapfile

- fix qgroup reserve limit calculation overflow

- remove device count in superblock and its item in one transaction so
they cant't get out of sync

- skip defragmenting an isolated sector, this could cause some extra IO

- unify handling of mtime/permissions in hole punch with fallocate

- zoned mode fixes:
- remove assert checking for only single mode, we have the DUP mode

- fix potential lockdep warning while traversing devices when checking
for zone activation

The following changes since commit d3e29967079c522ce1c5cab0e9fab2c280b977eb:

btrfs: zoned: put block group after final usage (2022-03-14 13:13:54 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.18-rc1-tag

for you to fetch changes up to 60021bd754c6ca0addc6817994f20290a321d8d6:

btrfs: prevent subvol with swapfile from being deleted (2022-03-24 17:50:57 +0100)

Darrick J. Wong (1):
btrfs: fix fallocate to use file_modified to update permissions consistently

Ethan Lien (1):
btrfs: fix qgroup reserve overflow the qgroup limit

Johannes Thumshirn (2):
btrfs: zoned: traverse devices under chunk_mutex in btrfs_can_activate_zone
btrfs: zoned: remove left over ASSERT checking for single profile

Josef Bacik (1):
btrfs: do not warn for free space inode in cow_file_range

Kaiwen Hu (1):
btrfs: prevent subvol with swapfile from being deleted

Qu Wenruo (2):
btrfs: remove device item and update super block in the same transaction
btrfs: avoid defragging extents whose next extents are not targets

fs/btrfs/extent_io.h | 2 +-
fs/btrfs/file.c | 13 +++++++++--
fs/btrfs/inode.c | 23 ++++++++++++++++++-
fs/btrfs/ioctl.c | 20 +++++++++++-----
fs/btrfs/volumes.c | 65 ++++++++++++++++++++++------------------------------
fs/btrfs/zoned.c | 13 ++++-------
6 files changed, 81 insertions(+), 55 deletions(-)