2022-02-26 00:10:04

by David Sterba

[permalink] [raw]
Subject: [GIT PULL] Btrfs fixes for 5.17-rc6

Hi,

this is a hopefully last batch of fixes for defrag that got broken in
5.16, all stable material. The remaining reported problem is excessive
IO with autodefrag due to various conditions in the defrag code not met
or missing.

Please pull, thanks.

----------------------------------------------------------------
The following changes since commit 2e7be9db125a0bf940c5d65eb5c40d8700f738b5:

btrfs: send: in case of IO error log it (2022-02-09 18:53:26 +0100)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-5.17-rc5-tag

for you to fetch changes up to 558732df2122092259ab4ef85594bee11dbb9104:

btrfs: reduce extent threshold for autodefrag (2022-02-24 16:11:28 +0100)

----------------------------------------------------------------
Dāvis Mosāns (1):
btrfs: prevent copying too big compressed lzo segment

Qu Wenruo (8):
btrfs: defrag: allow defrag_one_cluster() to skip large extent which is not a target
btrfs: defrag: don't try to merge regular extents with preallocated extents
btrfs: defrag: don't defrag extents which are already at max capacity
btrfs: defrag: remove an ambiguous condition for rejection
btrfs: defrag: bring back the old file extent search behavior
btrfs: defrag: don't use merged extent map for their generation check
btrfs: autodefrag: only scan one inode once
btrfs: reduce extent threshold for autodefrag

fs/btrfs/ctree.h | 2 +-
fs/btrfs/extent_map.c | 2 +
fs/btrfs/extent_map.h | 8 ++
fs/btrfs/file.c | 97 +++++++------------
fs/btrfs/inode.c | 4 +-
fs/btrfs/ioctl.c | 256 ++++++++++++++++++++++++++++++++++++++++++++++----
fs/btrfs/lzo.c | 11 +++
7 files changed, 296 insertions(+), 84 deletions(-)