diff options
author | NeilBrown <neilb@suse.de> | 2006-01-06 03:20:15 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 11:34:02 -0500 |
commit | 6ff8d8ec06690f4011a6c3ad9e0759b9094f0601 (patch) | |
tree | 3606791ca1fb73e0263c4bb90d9c909d354bf9d4 /drivers/md/md.c | |
parent | 14f8d26b8ea3413b28f2cac208c9a93600fe3a80 (diff) |
[PATCH] md: allow dirty raid[456] arrays to be started at boot
See patch to md.txt for more details
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r-- | drivers/md/md.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 8175a2a222da..b4fb7247b3ed 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -1937,6 +1937,7 @@ static void md_safemode_timeout(unsigned long data) | |||
1937 | md_wakeup_thread(mddev->thread); | 1937 | md_wakeup_thread(mddev->thread); |
1938 | } | 1938 | } |
1939 | 1939 | ||
1940 | static int start_dirty_degraded; | ||
1940 | 1941 | ||
1941 | static int do_md_run(mddev_t * mddev) | 1942 | static int do_md_run(mddev_t * mddev) |
1942 | { | 1943 | { |
@@ -2048,6 +2049,7 @@ static int do_md_run(mddev_t * mddev) | |||
2048 | mddev->recovery = 0; | 2049 | mddev->recovery = 0; |
2049 | mddev->resync_max_sectors = mddev->size << 1; /* may be over-ridden by personality */ | 2050 | mddev->resync_max_sectors = mddev->size << 1; /* may be over-ridden by personality */ |
2050 | mddev->barriers_work = 1; | 2051 | mddev->barriers_work = 1; |
2052 | mddev->ok_start_degraded = start_dirty_degraded; | ||
2051 | 2053 | ||
2052 | if (start_readonly) | 2054 | if (start_readonly) |
2053 | mddev->ro = 2; /* read-only, but switch on first write */ | 2055 | mddev->ro = 2; /* read-only, but switch on first write */ |
@@ -4509,6 +4511,8 @@ static int set_ro(const char *val, struct kernel_param *kp) | |||
4509 | } | 4511 | } |
4510 | 4512 | ||
4511 | module_param_call(start_ro, set_ro, get_ro, NULL, 0600); | 4513 | module_param_call(start_ro, set_ro, get_ro, NULL, 0600); |
4514 | module_param(start_dirty_degraded, int, 0644); | ||
4515 | |||
4512 | 4516 | ||
4513 | EXPORT_SYMBOL(register_md_personality); | 4517 | EXPORT_SYMBOL(register_md_personality); |
4514 | EXPORT_SYMBOL(unregister_md_personality); | 4518 | EXPORT_SYMBOL(unregister_md_personality); |