summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2007-03-01 04:11:42 (GMT)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-01 22:53:36 (GMT)
commitd1b5380c7f794da16e815c34e54ee7641db8a288 (patch)
tree1e9d7752c751898e236d3af695a5221be5634f1a /drivers/md
parent7dd5e7c3dbe8c4ffb507ddc0ea8fab07c8b11b0b (diff)
downloadlinux-d1b5380c7f794da16e815c34e54ee7641db8a288.tar.xz
[PATCH] md: clean out unplug and other queue function on md shutdown
The mddev and queue might be used for another array which does not set these, so they need to be cleared. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/md.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index c8c40c3..b5744b1 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3322,6 +3322,9 @@ static int do_md_stop(mddev_t * mddev, int mode)
set_disk_ro(disk, 0);
blk_queue_make_request(mddev->queue, md_fail_request);
mddev->pers->stop(mddev);
+ mddev->queue->merge_bvec_fn = NULL;
+ mddev->queue->unplug_fn = NULL;
+ mddev->queue->issue_flush_fn = NULL;
if (mddev->pers->sync_request)
sysfs_remove_group(&mddev->kobj, &md_redundancy_group);