Print concrete error when creating mddev

Example from my testing:
```
mdadm: unexpected failure opening /dev/md127: No such device or address
```

Before it would just print:
```
mdadm: unexpected failure opening /dev/md127
```
This commit is contained in:
Marius Kittler 2022-04-13 17:20:30 +02:00 committed by Marius Kittler
parent 52c67fcdd6
commit 3add974b54
2 changed files with 5 additions and 4 deletions

View File

@ -444,8 +444,8 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
}
mdfd = open_dev_excl(devnm);
if (mdfd < 0)
pr_err("unexpected failure opening %s\n",
devname);
pr_err("unexpected failure opening %s: %s\n",
devname, strerror(errno));
return mdfd;
}

5
util.c
View File

@ -1088,8 +1088,9 @@ int open_dev_excl(char *devnm)
long delay = 1000;
sprintf(buf, "%d:%d", major(devid), minor(devid));
int fd = -1;
for (i = 0; i < 25; i++) {
int fd = dev_open(buf, flags|O_EXCL);
fd = dev_open(buf, flags|O_EXCL);
if (fd >= 0)
return fd;
if (errno == EACCES && flags == O_RDWR) {
@ -1102,7 +1103,7 @@ int open_dev_excl(char *devnm)
if (delay < 200000)
delay *= 2;
}
return -1;
return fd;
}
int same_dev(char *one, char *two)