[PATCH] md: move bitmap_create to after md array has been initialised
This is important because bitmap_create uses mddev->resync_max_sectors and that doesn't have a valid value until after the array has been initialised (with pers->run()). [It doesn't make a difference for current personalities that support bitmaps, but will make a difference for raid10] This has the added advantage of meaning with can move the thread->timeout manipulation inside the bitmap.c code instead of sprinkling identical code throughout all personalities. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
6ff8d8ec06
commit
b15c2e57f0
@@ -1611,7 +1611,6 @@ static int run(mddev_t *mddev)
|
||||
mdname(mddev));
|
||||
goto out_free_conf;
|
||||
}
|
||||
if (mddev->bitmap) mddev->thread->timeout = mddev->bitmap->daemon_sleep * HZ;
|
||||
|
||||
printk(KERN_INFO
|
||||
"raid1: raid set %s active with %d out of %d mirrors\n",
|
||||
@@ -1783,13 +1782,6 @@ static void raid1_quiesce(mddev_t *mddev, int state)
|
||||
lower_barrier(conf);
|
||||
break;
|
||||
}
|
||||
if (mddev->thread) {
|
||||
if (mddev->bitmap)
|
||||
mddev->thread->timeout = mddev->bitmap->daemon_sleep * HZ;
|
||||
else
|
||||
mddev->thread->timeout = MAX_SCHEDULE_TIMEOUT;
|
||||
md_wakeup_thread(mddev->thread);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user