From: NeilBrown Date: Thu, 10 Mar 2011 06:07:04 +0000 (+1100) Subject: open_mddev: open RDONLY if RDWR doesn't work. X-Git-Tag: mdadm-3.1.5~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=abe7250bc70d938f21ccdf0d7686feb39561fe7f;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",