[PATCH v2 0/2] btrfs: fixes for send with relocation and reclaim
From: fdmanana@kernel.org
Date: 2021-06-21 10:10:43
From: Filipe Manana <redacted>
There's a recent report from Chris Murphy on a crash caused by send
triggering reclaim and inode eviction due to page/memory allocation,
the second patch fixes that. The first one just prevents relocation from
happening while there are send operations in progress, as currently only
balance is prevented from running but other operations can trigger
relocation too (device shrinking and automatic chunk relocation on zoned
filesystems). Details are in the changelogs of the patches.
V2: Add missing hunk to patch 1 where fs_info->send_in_progress is
decremented while holding fs_info->send_reloc_lock and no longer
while holding fs_info->balance_mutex. No changes to patch 2
except for the rebase.
Filipe Manana (2):
btrfs: ensure relocation never runs while we have send operations
running
btrfs: send: fix crash when memory allocations trigger reclaim
fs/btrfs/block-group.c | 10 ++++++++--
fs/btrfs/ctree.h | 5 +++--
fs/btrfs/disk-io.c | 19 ++-----------------
fs/btrfs/qgroup.c | 8 +-------
fs/btrfs/relocation.c | 13 +++++++++++++
fs/btrfs/send.c | 16 +++++++---------
fs/btrfs/transaction.c | 3 ---
fs/btrfs/transaction.h | 2 --
fs/btrfs/volumes.c | 8 --------
9 files changed, 34 insertions(+), 50 deletions(-)
--
2.28.0