md/raid5: add thread_group worker async_tx_issue_pending_all
authorOfer Heifetz <oferh@marvell.com>
Mon, 24 Jul 2017 06:17:40 +0000 (09:17 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Aug 2017 01:59:40 +0000 (18:59 -0700)
commitfabc7dffe9e123e5be2456139853a7e12c5adce8
tree7acc674eb865238da0844f04b92557e276fd937e
parentd745f0f67b70afafd4d5f300ec422dae26bbd938
md/raid5: add thread_group worker async_tx_issue_pending_all

commit 7e96d559634b73a8158ee99a7abece2eacec2668 upstream.

Since thread_group worker and raid5d kthread are not in sync, if
worker writes stripe before raid5d then requests will be waiting
for issue_pendig.

Issue observed when building raid5 with ext4, in some build runs
jbd2 would get hung and requests were waiting in the HW engine
waiting to be issued.

Fix this by adding a call to async_tx_issue_pending_all in the
raid5_do_work.

Signed-off-by: Ofer Heifetz <oferh@marvell.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/raid5.c