diff options
author | NeilBrown <neilb@cse.unsw.edu.au> | 2005-05-17 00:53:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-17 10:59:12 -0400 |
commit | 7a5febe9ffeecd1e78c5b505260ccc1ef18021b4 (patch) | |
tree | f3d61987a3f961f33a77334052805457a2ef2460 /drivers/md/raid6main.c | |
parent | 29ac8e056f2016a8404edc02749d095019aa1f82 (diff) |
[PATCH] md: set the unplug_fn and issue_flush_fn for md devices *after* committed to creation
We we set the too early, they may still be in place and possibly get called
even though the array didn't get set up properly.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/raid6main.c')
-rw-r--r-- | drivers/md/raid6main.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/md/raid6main.c b/drivers/md/raid6main.c index 8a33f351e092..908edd78a792 100644 --- a/drivers/md/raid6main.c +++ b/drivers/md/raid6main.c | |||
@@ -1779,9 +1779,6 @@ static int run (mddev_t *mddev) | |||
1779 | atomic_set(&conf->active_stripes, 0); | 1779 | atomic_set(&conf->active_stripes, 0); |
1780 | atomic_set(&conf->preread_active_stripes, 0); | 1780 | atomic_set(&conf->preread_active_stripes, 0); |
1781 | 1781 | ||
1782 | mddev->queue->unplug_fn = raid6_unplug_device; | ||
1783 | mddev->queue->issue_flush_fn = raid6_issue_flush; | ||
1784 | |||
1785 | PRINTK("raid6: run(%s) called.\n", mdname(mddev)); | 1782 | PRINTK("raid6: run(%s) called.\n", mdname(mddev)); |
1786 | 1783 | ||
1787 | ITERATE_RDEV(mddev,rdev,tmp) { | 1784 | ITERATE_RDEV(mddev,rdev,tmp) { |
@@ -1895,6 +1892,9 @@ static int run (mddev_t *mddev) | |||
1895 | 1892 | ||
1896 | /* Ok, everything is just fine now */ | 1893 | /* Ok, everything is just fine now */ |
1897 | mddev->array_size = mddev->size * (mddev->raid_disks - 2); | 1894 | mddev->array_size = mddev->size * (mddev->raid_disks - 2); |
1895 | |||
1896 | mddev->queue->unplug_fn = raid6_unplug_device; | ||
1897 | mddev->queue->issue_flush_fn = raid6_issue_flush; | ||
1898 | return 0; | 1898 | return 0; |
1899 | abort: | 1899 | abort: |
1900 | if (conf) { | 1900 | if (conf) { |