summaryrefslogtreecommitdiff
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2005-11-08 21:39:42 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 07:56:39 -0800
commitfd9d49cac46f5758d513ccf831b599dd4412546f (patch)
tree980dcde5398f3d0f2724637dd499f922551328d3 /drivers/md/md.c
parent8e1b39d623359e5ef7983a2bd0fb676be45cba31 (diff)
downloadlwn-fd9d49cac46f5758d513ccf831b599dd4412546f.tar.gz
lwn-fd9d49cac46f5758d513ccf831b599dd4412546f.zip
[PATCH] md: ignore auto-readonly flag for arrays where it isn't meaningful
The 'auto-readonly' flag (which suppresses resync and superblock updates until the first write) is not meaningful for personalities that don't support resync or superblock writes (raid0, linear, etc). So clear the setting early to avoid it confusing anything - e.g. appearing in /proc/mdstat 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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 47b8685d4bdf..25f2bbfe6a2b 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -2058,6 +2058,9 @@ static int do_md_run(mddev_t * mddev)
}
if (mddev->pers->sync_request)
sysfs_create_group(&mddev->kobj, &md_redundancy_group);
+ else if (mddev->ro == 2) /* auto-readonly not meaningful */
+ mddev->ro = 0;
+
atomic_set(&mddev->writes_pending,0);
mddev->safemode = 0;
mddev->safemode_timer.function = md_safemode_timeout;