Hi all Sorry, I know this patch set conflict with Yu Kuai's patch set. But I have to send out this patch set. Now we're facing some deadlock regression problems. So it's better to figure out the root cause and fix them. But Kuai's patch set looks too complicate for me. And like we're talking in the emails, Kuai's patch set breaks some rules. It's not good to fix some problem by breaking the original logic. If we really need to break some logic. It's better to use a distinct patch set to describe why we need them. This patch is based on linus's tree. The tag is 6.8-rc5. If this patch set can be accepted. We need to revert Kuai's patches which have been merged in Song's tree (md-6.8-20240216 tag). This patch set has four patches. The first two resolves deadlock problems. With these two patches, it can resolve most deadlock problem. The third one fixes active_io counter bug. The fouth one fixes the raid5 reshape deadlock problem. I have run lvm2 regression test. There are 4 failed cases: shell/dmsetup-integrity-keys.sh shell/lvresize-fs-crypt.sh shell/pvck-dump.sh shell/select-report.sh Xiao Ni (4): Clear MD_RECOVERY_WAIT when stopping dmraid Set MD_RECOVERY_FROZEN before stop sync thread md: Missing decrease active_io for flush io Don't check crossing reshape when reshape hasn't started drivers/md/dm-raid.c | 2 ++ drivers/md/md.c | 8 +++++++- drivers/md/raid5.c | 22 ++++++++++------------ 3 files changed, 19 insertions(+), 13 deletions(-) -- 2.32.0 (Apple Git-132)