aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r--drivers/md/md.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 31f8e151d893..d66aaeddf95d 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -373,8 +373,9 @@ static void md_end_flush(struct bio *bio, int err)
373 373
374static void md_submit_flush_data(struct work_struct *ws); 374static void md_submit_flush_data(struct work_struct *ws);
375 375
376static void submit_flushes(mddev_t *mddev) 376static void submit_flushes(struct work_struct *ws)
377{ 377{
378 mddev_t *mddev = container_of(ws, mddev_t, flush_work);
378 mdk_rdev_t *rdev; 379 mdk_rdev_t *rdev;
379 380
380 INIT_WORK(&mddev->flush_work, md_submit_flush_data); 381 INIT_WORK(&mddev->flush_work, md_submit_flush_data);
@@ -432,7 +433,8 @@ void md_flush_request(mddev_t *mddev, struct bio *bio)
432 mddev->flush_bio = bio; 433 mddev->flush_bio = bio;
433 spin_unlock_irq(&mddev->write_lock); 434 spin_unlock_irq(&mddev->write_lock);
434 435
435 submit_flushes(mddev); 436 INIT_WORK(&mddev->flush_work, submit_flushes);
437 queue_work(md_wq, &mddev->flush_work);
436} 438}
437EXPORT_SYMBOL(md_flush_request); 439EXPORT_SYMBOL(md_flush_request);
438 440