From: Yu Kuai <yukuai3@xxxxxxxxxx> Changes in v2: - rebase for the latest md-next Patch 1 revert the commit because it will cause MD_RECOVERY_RUNNING to be cleared while sync_thread is still running. The deadlock this patch tries to fix will be fixed by patch 2-5. Patch 6 enhance checking to prevent MD_RECOVERY_RUNNING to be cleared while sync_thread is still running. Yu Kuai (6): Revert "md: unlock mddev before reap sync_thread in action_store" md: refactor action_store() for 'idle' and 'frozen' md: add a mutex to synchronize idle and frozen in action_store() md: refactor idle/frozen_sync_thread() to fix deadlock md: wake up 'resync_wait' at last in md_reap_sync_thread() md: enhance checking in md_check_recovery() drivers/md/dm-raid.c | 1 - drivers/md/md.c | 124 +++++++++++++++++++++++++++++-------------- drivers/md/md.h | 5 ++ 3 files changed, 88 insertions(+), 42 deletions(-) -- 2.39.2 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel