]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - sysfs.c
sysfs: include faulty drive in disk count
[thirdparty/mdadm.git] / sysfs.c
diff --git a/sysfs.c b/sysfs.c
index bf5c8c5db282d1d9a9f027d3524bea45597e8742..df6fdda35cd829e35be45a22c0d203a1ee99b019 100644 (file)
--- a/sysfs.c
+++ b/sysfs.c
@@ -307,6 +307,7 @@ struct mdinfo *sysfs_read(int fd, char *devnm, unsigned long options)
                dev->disk.raid_disk = strtoul(buf, &ep, 10);
                if (*ep) dev->disk.raid_disk = -1;
 
+               sra->array.nr_disks++;
                strcpy(dbase, "block/dev");
                if (load_sys(fname, buf, sizeof(buf))) {
                        /* assume this is a stale reference to a hot
@@ -315,7 +316,6 @@ struct mdinfo *sysfs_read(int fd, char *devnm, unsigned long options)
                        free(dev);
                        continue;
                }
-               sra->array.nr_disks++;
                sscanf(buf, "%d:%d", &dev->disk.major, &dev->disk.minor);
 
                /* special case check for block devices that can go 'offline' */