diff options
author | NeilBrown <neilb@suse.de> | 2011-01-31 04:49:39 +0100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2011-01-31 04:49:39 +0100 |
commit | c3f26510c6b2a9b634fd417e7fa3d4bf9674dd28 (patch) | |
tree | 163bb8706d08fecdec104879bbe0f4521a81a072 /mdopen.c | |
parent | Call free_super before attempting to add a new device (diff) | |
download | mdadm-c3f26510c6b2a9b634fd417e7fa3d4bf9674dd28.tar.xz mdadm-c3f26510c6b2a9b634fd417e7fa3d4bf9674dd28.zip |
open_mddev: open RDONLY if RDWR doesn't work.
If an array is read-only then "mdadm -S"
cannot open it to stop it without this fix.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'mdopen.c')
-rw-r--r-- | mdopen.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -390,6 +390,8 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy, int open_mddev(char *dev, int report_errors) { int mdfd = open(dev, O_RDWR); + if (mdfd < 0 && errno == EACCES) + mdfd = open(dev, O_RDONLY); if (mdfd < 0) { if (report_errors) fprintf(stderr, Name ": error opening %s: %s\n", |