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>
This commit is contained in:
NeilBrown 2011-03-10 17:07:04 +11:00
parent a4622ac62c
commit abe7250bc7
1 changed files with 2 additions and 0 deletions

View File

@ -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",