summaryrefslogtreecommitdiff
path: root/mdopen.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2011-01-31 14:49:39 +1100
committerNeilBrown <neilb@suse.de>2011-01-31 14:49:39 +1100
commitc3f26510c6b2a9b634fd417e7fa3d4bf9674dd28 (patch)
tree163bb8706d08fecdec104879bbe0f4521a81a072 /mdopen.c
parent562e70e4c4cec0f14125f9864770b6f228921b5c (diff)
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.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mdopen.c b/mdopen.c
index 21baf5da..0a174211 100644
--- a/mdopen.c
+++ b/mdopen.c
@@ -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",