]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - sysfs.c
tests: add test that DDF marks missing devices as failed on assembly.
[thirdparty/mdadm.git] / sysfs.c
diff --git a/sysfs.c b/sysfs.c
index 19d56aa939afc5f58a8104ebcc1bde2e3acc27ad..9a1d856960e82ba78d16b12b6da5cf4bf0efe455 100644 (file)
--- a/sysfs.c
+++ b/sysfs.c
@@ -682,7 +682,7 @@ int sysfs_add_disk(struct mdinfo *sra, struct mdinfo *sd, int resume)
                return rv;
 
        memset(nm, 0, sizeof(nm));
-       dname = devid2devnm(makedev(sd->disk.major, sd->disk.minor));
+       dname = devid2kname(makedev(sd->disk.major, sd->disk.minor));
        strcpy(sd->sys_name, "dev-");
        strcpy(sd->sys_name+4, dname);
 
@@ -904,15 +904,18 @@ int sysfs_wait(int fd, int *msec)
        else {
                struct timeval start, end, tv;
                gettimeofday(&start, NULL);
-               if (*msec < 1000)
+               if (*msec < 1000) {
+                       tv.tv_sec = 0;
                        tv.tv_usec = (*msec)*1000;
-               else
+               } else {
                        tv.tv_sec = (*msec)/1000;
+                       tv.tv_usec = 0;
+               }
                n = select(fd+1, NULL, NULL, &fds, &tv);
                gettimeofday(&end, NULL);
                end.tv_sec -= start.tv_sec;
                *msec -= (end.tv_sec * 1000 + end.tv_usec/1000
-                         - start.tv_usec/100) + 1;
+                         - start.tv_usec/1000) + 1;
        }
        return n;
 }