aboutsummaryrefslogtreecommitdiff
path: root/lib/mpi
diff options
context:
space:
mode:
authorNeilBrown <[email protected]>2012-11-27 12:14:40 +1100
committerNeilBrown <[email protected]>2012-11-27 12:14:40 +1100
commit874807a83139abc094f939e93623c5623573d543 (patch)
treec36b108b47272d31cbe906cb4267829c02e9c121 /lib/mpi
parent884162df2aadd7414bef4935e1a54976fd4e3988 (diff)
md/raid1{,0}: fix deadlock in bitmap_unplug.
If the raid1 or raid10 unplug function gets called from a make_request function (which is very possible) when there are bios on the current->bio_list list, then it will not be able to successfully call bitmap_unplug() and it could need to submit more bios and wait for them to complete. But they won't complete while current->bio_list is non-empty. So detect that case and handle the unplugging off to another thread just like we already do when called from within the scheduler. RAID1 version of bug was introduced in 3.6, so that part of fix is suitable for 3.6.y. RAID10 part won't apply. Cc: [email protected] Reported-by: Torsten Kaiser <[email protected]> Reported-by: Peter Maloney <[email protected]> Signed-off-by: NeilBrown <[email protected]>
Diffstat (limited to 'lib/mpi')
0 files changed, 0 insertions, 0 deletions