mirror of
https://github.com/torvalds/linux.git
synced 2026-06-10 15:42:19 +02:00
md: flush ->event_work before stopping array.
commitee5d004fd0upstream. The 'event_work' worker used by dm-raid may still be running when the array is stopped. This can result in an oops. So flush the workqueue on which it is run after detaching and before destroying the device. Reported-by: Heinz Mauelshagen <heinzm@redhat.com> Signed-off-by: NeilBrown <neilb@suse.com> Fixes:9d09e663d5("dm: raid456 basic support") Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1335a48ac2
commit
d7b00aadea
|
|
@ -5306,6 +5306,8 @@ EXPORT_SYMBOL_GPL(md_stop_writes);
|
|||
static void __md_stop(struct mddev *mddev)
|
||||
{
|
||||
mddev->ready = 0;
|
||||
/* Ensure ->event_work is done */
|
||||
flush_workqueue(md_misc_wq);
|
||||
mddev->pers->stop(mddev);
|
||||
if (mddev->pers->sync_request && mddev->to_remove == NULL)
|
||||
mddev->to_remove = &md_redundancy_group;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user