diff options
| -rw-r--r-- | drivers/md/md.c | 6 |
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 | ||
| 374 | static void md_submit_flush_data(struct work_struct *ws); | 374 | static void md_submit_flush_data(struct work_struct *ws); |
| 375 | 375 | ||
| 376 | static void submit_flushes(mddev_t *mddev) | 376 | static 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 | } |
| 437 | EXPORT_SYMBOL(md_flush_request); | 439 | EXPORT_SYMBOL(md_flush_request); |
| 438 | 440 | ||
