summaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-06-01 11:37:29 +0200
committerNeilBrown <neilb@suse.de>2010-07-26 04:53:08 +0200
commit252ac5221a71be72b7e7c7b7482af91e9c962e8c (patch)
treecb9542b1391dabc136ce0052eb28948e77a6e2e5 /drivers/md/raid5.c
parentmd/raid5: add simple plugging infrastructure. (diff)
downloadlinux-252ac5221a71be72b7e7c7b7482af91e9c962e8c.tar.xz
linux-252ac5221a71be72b7e7c7b7482af91e9c962e8c.zip
md/plug: optionally use plugger to unplug an array during resync/recovery.
If an array doesn't have a 'queue' then md_do_sync cannot unplug it. In that case it will have a 'plugger', so make that available to the mddev, and use it to unplug the array if needed. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to '')
-rw-r--r--drivers/md/raid5.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 84bb9aec2211..0a8173e650bb 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -5189,6 +5189,7 @@ static int run(mddev_t *mddev)
md_set_array_sectors(mddev, raid5_size(mddev, 0, 0));
plugger_init(&conf->plug, raid5_unplug);
+ mddev->plug = &conf->plug;
if (mddev->queue) {
/* read-ahead size must cover two whole stripes, which
* is 2 * (datadisks) * chunksize where 'n' is the