mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
raid5: Use slow_path to release stripe when mddev->thread is null
When release_stripe() is called in grow_one_stripe(), the mddev->thread is null. So it will omit one wakeup this thread to release stripe. For this condition, use slow_path to release stripe. Bug was introduced in 3.12 Cc: stable@vger.kernel.org (3.12+) Fixes: 773ca82fa1ee58dd1bf88b Signed-off-by: Jianpeng Ma <majianpeng@gmail.com> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
39cf275a1a
commit
ad4068de49
@ -340,7 +340,8 @@ static void release_stripe(struct stripe_head *sh)
|
||||
unsigned long flags;
|
||||
bool wakeup;
|
||||
|
||||
if (test_and_set_bit(STRIPE_ON_RELEASE_LIST, &sh->state))
|
||||
if (unlikely(!conf->mddev->thread) ||
|
||||
test_and_set_bit(STRIPE_ON_RELEASE_LIST, &sh->state))
|
||||
goto slow_path;
|
||||
wakeup = llist_add(&sh->release_list, &conf->released_stripes);
|
||||
if (wakeup)
|
||||
|
Loading…
x
Reference in New Issue
Block a user