On Wed, Oct 24, 2018 at 01:39:20PM +1100, NeilBrown wrote:
On Tue, Oct 23 2018, Gi-Oh Kim wrote:
On Wed, Oct 3, 2018 at 7:04 AM NeilBrown <neilb@xxxxxxxx> wrote:
Commit 35bfc52187f6 ("md: allow metadata update while suspending.")
added support for allowing md_check_recovery() to still perform
metadata updates while the array is entering the 'suspended' state.
This is needed to allow the processes of entering the state to
complete.
Hi,
Could anybody please inform me how to test this patch?
You need to get mddev_suspend() to be called while mddev_lock() is held,
and for a metadata write to be triggered somewhere in there.
When the bug hits, you get a deadlock.
You can harmlessly trigger mddev_suspend() while holding the lock by
echo 0 > /sys/block/mdXX/md/suspend_hi
so maybe just doing that in a tight loop on an active array might be
enough.
Yep, that's what my reproducer was doing. See this list:
Subject: Lockup: 4.18, raid6 scrub vs raid6check
https://www.spinics.net/lists/raid/msg61540.html
Confirmed this patch fixes the problem for me.
Cheers,
Chris