[GIT PULL] Btrfs fixes for 5.17-rc7
From: David Sterba
Date: Sun Mar 06 2022 - 11:36:31 EST
Hi,
a few more fixes for various problems that have user visible effects or
seem to be urgent. Please pull, thanks.
* fix corruption when combining DIO and non-blocking iouring over
multiple extents (seen on MariaDB)
* fix relocation crash due to premature return from commit
* fix quota deadlock between rescan and qgroup removal
* fix item data bounds checks in tree-checker (found on a fuzzed image)
* fix fsync of prealloc extents after EOF
* add missing run of delayed items after unlink during log replay
* don't start relocation until snapshot drop is finished
* fix reversed condition for subpage writers locking
* fix warning on page error
----------------------------------------------------------------
The following changes since commit 558732df2122092259ab4ef85594bee11dbb9104:
btrfs: reduce extent threshold for autodefrag (2022-02-24 16:11:28 +0100)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.17-rc6-tag
for you to fetch changes up to ca93e44bfb5fd7996b76f0f544999171f647f93b:
btrfs: fallback to blocking mode when doing async dio over multiple extents (2022-03-04 15:09:21 +0100)
----------------------------------------------------------------
Filipe Manana (3):
btrfs: fix lost prealloc extents beyond eof after full fsync
btrfs: add missing run of delayed items after unlink during log replay
btrfs: fallback to blocking mode when doing async dio over multiple extents
Josef Bacik (2):
btrfs: do not WARN_ON() if we have PageError set
btrfs: do not start relocation until in progress drops are done
Omar Sandoval (1):
btrfs: fix relocation crash due to premature return from btrfs_commit_transaction()
Qu Wenruo (1):
btrfs: subpage: fix a wrong check on subpage->writers
Sidong Yang (1):
btrfs: qgroup: fix deadlock between rescan worker and remove qgroup
Su Yue (1):
btrfs: tree-checker: use u64 for item data end to avoid overflow
fs/btrfs/ctree.h | 10 ++++++++
fs/btrfs/disk-io.c | 10 ++++++++
fs/btrfs/extent-tree.c | 10 ++++++++
fs/btrfs/extent_io.c | 16 +++++++++---
fs/btrfs/inode.c | 28 +++++++++++++++++++++
fs/btrfs/qgroup.c | 9 ++++++-
fs/btrfs/relocation.c | 13 ++++++++++
fs/btrfs/root-tree.c | 15 ++++++++++++
fs/btrfs/subpage.c | 2 +-
fs/btrfs/transaction.c | 65 +++++++++++++++++++++++++++++++++++++++++++++++--
fs/btrfs/transaction.h | 1 +
fs/btrfs/tree-checker.c | 18 +++++++-------
fs/btrfs/tree-log.c | 61 +++++++++++++++++++++++++++++++++++++---------
13 files changed, 230 insertions(+), 28 deletions(-)