summaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorNeilBrown2006-01-06 09:20:15 +0100
committerLinus Torvalds2006-01-06 17:34:02 +0100
commit6ff8d8ec06690f4011a6c3ad9e0759b9094f0601 (patch)
tree3606791ca1fb73e0263c4bb90d9c909d354bf9d4 /drivers/md/md.c
parent[PATCH] md: small cleanups for raid5 (diff)
downloadkernel-qcow2-linux-6ff8d8ec06690f4011a6c3ad9e0759b9094f0601.tar.gz
kernel-qcow2-linux-6ff8d8ec06690f4011a6c3ad9e0759b9094f0601.tar.xz
kernel-qcow2-linux-6ff8d8ec06690f4011a6c3ad9e0759b9094f0601.zip
[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.c4
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)
md_wakeup_thread(mddev->thread);
}
+static int start_dirty_degraded;
static int do_md_run(mddev_t * mddev)
{
@@ -2048,6 +2049,7 @@ static int do_md_run(mddev_t * mddev)
mddev->recovery = 0;
mddev->resync_max_sectors = mddev->size << 1; /* may be over-ridden by personality */
mddev->barriers_work = 1;
+ mddev->ok_start_degraded = start_dirty_degraded;
if (start_readonly)
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)
}
module_param_call(start_ro, set_ro, get_ro, NULL, 0600);
+module_param(start_dirty_degraded, int, 0644);
+
EXPORT_SYMBOL(register_md_personality);
EXPORT_SYMBOL(unregister_md_personality);