summaryrefslogtreecommitdiffstats
path: root/Manage.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2010-11-23 15:08:19 +1100
committerNeilBrown <neilb@suse.de>2010-11-23 15:08:19 +1100
commit9ea5a25217898a699a1ba0ba27693362f0d81456 (patch)
treedfcd9260aa692f710d4d23b01e684ba6956e896a /Manage.c
parentbc77ed535db05fc4b5b46f20dc4c27893f01610d (diff)
downloadmdadm-9ea5a25217898a699a1ba0ba27693362f0d81456.tar.gz
Manage: allow manual control of external raid0 readonly flag
mdadm --readwrite <subarray> will clear the external readonly flag ('-' to '/'), but only for redudant arrays. Allow raid0 arrays as well so the user has a simple helper to control this flag. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Manage.c')
-rw-r--r--Manage.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Manage.c b/Manage.c
index fa300c74..a203ec9b 100644
--- a/Manage.c
+++ b/Manage.c
@@ -56,7 +56,6 @@ int Manage_ro(char *devname, int fd, int readonly)
mdi = sysfs_read(fd, -1, GET_LEVEL|GET_VERSION);
if (mdi &&
mdi->array.major_version == -1 &&
- mdi->array.level > 0 &&
is_subarray(mdi->text_version)) {
char vers[64];
strcpy(vers, "external:");
@@ -88,6 +87,8 @@ int Manage_ro(char *devname, int fd, int readonly)
if (*cp)
*cp = 0;
ping_monitor(vers+10);
+ if (mdi->array.level <= 0)
+ sysfs_set_str(mdi, NULL, "array_state", "active");
}
return 0;
}