Re: [PATCH] md: allow metadata updates while suspending an array - fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux