* there.
*/
struct mdstat_ent **ih;
- int dn2;
- if (strncmp(w, "md_d", 4)==0)
- dn2 = -1-strtoul(w+4, &ep, 10);
- else
- dn2 = strtoul(w+2, &ep, 10);
+ int dn2 = devname2devnum(w);
ih = &all;
while (ih != insert_here && *ih &&
(*ih)->devnum != dn2)
select(mdstat_fd >2 ? mdstat_fd+1:3, NULL, NULL, &fds, &tm);
}
-void mdstat_wait_fd(int fd)
+void mdstat_wait_fd(int fd, const sigset_t *sigmask)
{
fd_set fds, rfds;
FD_SET(mdstat_fd, &fds);
FD_SET(fd, &rfds);
- select(mdstat_fd >2 ? mdstat_fd+1:3, &rfds, NULL, &fds, NULL);
+ pselect(mdstat_fd >2 ? mdstat_fd+1:3, &rfds, NULL, &fds,
+ NULL, sigmask);
}
int mddev_busy(int devnum)