[PATCH md-6.8 v2 0/9] dm-raid, md/raid: fix v6.7 regressions part2

From: Yu Kuai
Date: Tue Mar 05 2024 - 02:30:02 EST


From: Yu Kuai <yukuai3@xxxxxxxxxx>

Changes in v2:
- Change the title from '-next' to 'md-6.8';
- Add Acked-by tag from Mike;
- Add Singed-off-by tag from Xiao;

link to part1: https://lore.kernel.org/all/CAPhsuW7u1UKHCDOBDhD7DzOVtkGemDz_QnJ4DUq_kSN-Q3G66Q@xxxxxxxxxxxxxx/

part1 contains fixes for deadlocks for stopping sync_thread

This set contains fixes:
- reshape can start unexpected, cause data corruption, patch 1,5,6;
- deadlocks that reshape concurrent with IO, patch 8;
- a lockdep warning, patch 9;

I'm running lvm2 tests with following scripts with a few rounds now,

for t in `ls test/shell`; do
if cat test/shell/$t | grep raid &> /dev/null; then
make check T=shell/$t
fi
done

There are no deadlocks now, there are still some fs corruption, however,
it's verified there are no new failed tests compared to v6.6.

Yu Kuai (9):
md: don't clear MD_RECOVERY_FROZEN for new dm-raid until resume
md: export helpers to stop sync_thread
md: export helper md_is_rdwr()
md: add a new helper reshape_interrupted()
dm-raid: really frozen sync_thread during suspend
md/dm-raid: don't call md_reap_sync_thread() directly
dm-raid: add a new helper prepare_suspend() in md_personality
dm-raid456, md/raid456: fix a deadlock for dm-raid456 while io
concurrent with reshape
dm-raid: fix lockdep waring in "pers->hot_add_disk"

drivers/md/dm-raid.c | 93 ++++++++++++++++++++++++++++++++++----------
drivers/md/md.c | 73 ++++++++++++++++++++++++++--------
drivers/md/md.h | 38 +++++++++++++++++-
drivers/md/raid5.c | 32 ++++++++++++++-
4 files changed, 196 insertions(+), 40 deletions(-)

--
2.39.2