]> err.no Git - linux-2.6/commitdiff
[PATCH] md: clean out unplug and other queue function on md shutdown
authorNeilBrown <neilb@suse.de>
Thu, 1 Mar 2007 04:11:42 +0000 (20:11 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 1 Mar 2007 22:53:36 +0000 (14:53 -0800)
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>
drivers/md/md.c

index c8c40c361532cc210f70699039f7341df65d6e1b..b5744b1bd2ba72ca611edd7c735f77e4968979d1 100644 (file)
@@ -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);