]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - config.c
Allow scanning of devices listed in /proc/partitions independant of /dev
[thirdparty/mdadm.git] / config.c
index a5d5edd2a61691d1f7a2bfa1d593cb8fbb649710..b44451540da7b87670f797fd3353c4ddb393d880 100644 (file)
--- a/config.c
+++ b/config.c
@@ -214,6 +214,8 @@ mddev_dev_t load_partitions(void)
        while (fgets(buf, 1024, f)) {
                int major, minor;
                char *name, *mp;
+               mddev_dev_t d;
+
                buf[1023] = '\0';
                if (buf[0] != ' ')
                        continue;
@@ -223,14 +225,15 @@ mddev_dev_t load_partitions(void)
                minor = strtoul(mp, NULL, 10);
 
                name = map_dev(major, minor);
-               if (name) {
-                       mddev_dev_t d;
-
-                       d = malloc(sizeof(*d));
-                       d->devname = strdup(name);
-                       d->next = rv;
-                       rv = d;
+               if (!name) {
+                       snprintf(buf, 1024, "%d:%d", major, minor);
+                       name = buf;
                }
+
+               d = malloc(sizeof(*d));
+               d->devname = strdup(name);
+               d->next = rv;
+               rv = d;
        }
        fclose(f);
        return rv;