From: NeilBrown Date: Mon, 31 Jan 2011 03:49:39 +0000 (+1100) Subject: open_mddev: open RDONLY if RDWR doesn't work. X-Git-Tag: mdadm-3.2~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c3f26510c6b2a9b634fd417e7fa3d4bf9674dd28;p=thirdparty%2Fmdadm.git 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 --- 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",