diff options
author | NeilBrown <neilb@suse.de> | 2014-09-30 00:10:42 +0200 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2014-10-14 04:08:28 +0200 |
commit | ac05f256691fe427a3e84c19261adb0b67dd73c0 (patch) | |
tree | 2f7254e7117eac0fc0d974029e5bb5422866a73c /drivers/md/raid5.h | |
parent | md: Just use RCU when checking for overlap between arrays. (diff) | |
download | linux-ac05f256691fe427a3e84c19261adb0b67dd73c0.tar.xz linux-ac05f256691fe427a3e84c19261adb0b67dd73c0.zip |
md: don't start resync thread directly from md thread.
The main 'md' thread is needed for processing writes, so if it blocks
write requests could be delayed.
Starting a new thread requires some GFP_KERNEL allocations and so can
wait for writes to complete. This can deadlock.
So instead, ask a workqueue to start the sync thread.
There is no particular rush for this to happen, so any work queue
will do.
MD_RECOVERY_RUNNING is used to ensure only one thread is started.
Reported-by: BillStuff <billstuff2001@sbcglobal.net>
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid5.h')
0 files changed, 0 insertions, 0 deletions