From: Yu Kuai <yukuai3@xxxxxxxxxx> 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 runing 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 deadlock and no fs corrupt now, however, there are still four failed tests: ### failed: [ndev-vanilla] shell/lvchange-raid1-writemostly.sh ### failed: [ndev-vanilla] shell/lvconvert-repair-raid.sh ### failed: [ndev-vanilla] shell/lvcreate-large-raid.sh ### failed: [ndev-vanilla] shell/lvextend-raid.sh And failed reasons are the same: ## ERROR: The test started dmeventd (147856) unexpectedly I have no clue yet, and it seems other folks doesn't have this issue. 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