提交 f8cecf7a 编写于 作者: L Li Nan 提交者: Jialin Zhang

md/raid10: fix softlockup in raid10_unplug

hulk inclusion
category: bugfix
bugzilla: 188628, https://gitee.com/openeuler/kernel/issues/I6WKDR
CVE: NA

--------------------------------

There is no limit to the number of io for raid10 plug, whitch may result
in excessive memory usage and potential softlockup when a large number of
io are submitted at once. There is no good way to fix it now, just add
schedule point to prevent softlockup.

Fixes: 57c67df4 ("md/raid10: submit IO from originating thread instead of md thread.")
Signed-off-by: NLi Nan <linan122@huawei.com>
Reviewed-by: NYu Kuai <yukuai3@huawei.com>
Reviewed-by: NHou Tao <houtao1@huawei.com>
上级 22eeb5d1
......@@ -896,6 +896,7 @@ static void flush_pending_writes(struct r10conf *conf)
else
submit_bio_noacct(bio);
bio = next;
cond_resched();
}
blk_finish_plug(&plug);
} else
......@@ -1089,6 +1090,7 @@ static void raid10_unplug(struct blk_plug_cb *cb, bool from_schedule)
else
submit_bio_noacct(bio);
bio = next;
cond_resched();
}
kfree(plug);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册