[GIT PULL] Btrfs fixes for 5.12-rc4

From: David Sterba
Date: Thu Mar 18 2021 - 16:17:07 EST

From: David Sterba <dsterba@xxxxxxx>


there are still regressions being found and fixed in the zoned mode and
subpage code, the rest are fixes for bugs reported by users. Please
pull, thanks.


- subpage block support:
- readahead works on the proper block size
- fix last page zeroing

- zoned mode:
- linked list corruption for tree log


- qgroup leak after falloc faiulre

- tree mod log and backref resolving
- extent buffer cloning race when resolving backrefs
- pin deleted leaves with active tree mod log users

- drop debugging flag from slab cache

The following changes since commit badae9c86979c459bd7d895d6d7ddc7a01131ff7:

btrfs: zoned: do not account freed region of read-only block group as zone_unusable (2021-03-04 16:16:58 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.12-rc3-tag

for you to fetch changes up to 485df75554257e883d0ce39bb886e8212349748e:

btrfs: always pin deleted leaves when there are active tree mod log users (2021-03-16 20:32:22 +0100)

David Sterba (1):
btrfs: fix slab cache flags for free space tree bitmap

Filipe Manana (3):
btrfs: zoned: fix linked list corruption after log root tree allocation failure
btrfs: fix race when cloning extent buffer during rewind of an old root
btrfs: always pin deleted leaves when there are active tree mod log users

Qu Wenruo (5):
btrfs: fix wrong offset to zero out range beyond i_size
btrfs: track qgroup released data in own variable in insert_prealloc_file_extent
btrfs: fix qgroup data rsv leak caused by falloc failure
btrfs: subpage: fix wild pointer access during metadata read failure
btrfs: subpage: make readahead work properly

fs/btrfs/ctree.c | 2 ++
fs/btrfs/extent-tree.c | 23 ++++++++++++++++++++++-
fs/btrfs/extent_io.c | 33 +++++++++++++++++++++++++++++++--
fs/btrfs/inode.c | 37 ++++++++++++++++++++++++++-----------
fs/btrfs/reada.c | 35 ++++++++++++++++++-----------------
fs/btrfs/tree-log.c | 8 ++++----
6 files changed, 103 insertions(+), 35 deletions(-)