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:
parent
562e70e4c4
commit
c3f26510c6
2
mdopen.c
2
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 open_mddev(char *dev, int report_errors)
|
||||||
{
|
{
|
||||||
int mdfd = open(dev, O_RDWR);
|
int mdfd = open(dev, O_RDWR);
|
||||||
|
if (mdfd < 0 && errno == EACCES)
|
||||||
|
mdfd = open(dev, O_RDONLY);
|
||||||
if (mdfd < 0) {
|
if (mdfd < 0) {
|
||||||
if (report_errors)
|
if (report_errors)
|
||||||
fprintf(stderr, Name ": error opening %s: %s\n",
|
fprintf(stderr, Name ": error opening %s: %s\n",
|
||||||
|
|
Loading…
Reference in New Issue