]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Merge https://github.com/makelinux/mdadm
authorNeilBrown <neilb@suse.com>
Mon, 21 Dec 2015 01:57:06 +0000 (12:57 +1100)
committerNeilBrown <neilb@suse.com>
Mon, 21 Dec 2015 01:57:06 +0000 (12:57 +1100)
Fixes https://github.com/neilbrown/mdadm/issues/17

1  2 
Detail.c

diff --combined Detail.c
index ef2aabd47e8a1f8d6e30300789d7cf6b007d71ee,7eb6bd5efd17b9782f82c44f3706b2e1fe776e4a..5bd2dc641ff7d9618f3b500930e7c679c080eb94
+++ b/Detail.c
@@@ -299,8 -299,7 +299,8 @@@ int Detail(char *dev, struct context *c
        for (d = 0; d < max_disks * 2; d++) {
                disks[d].state = (1<<MD_DISK_REMOVED);
                disks[d].major = disks[d].minor = 0;
 -              disks[d].number = disks[d].raid_disk = d;
 +              disks[d].number = -1;
 +              disks[d].raid_disk = d/2;
        }
  
        next = array.raid_disks*2;
                    (disks[d*2+1].state & (1<<MD_DISK_SYNC))) {
                        avail_disks ++;
                        avail[d] = 1;
-               }
+               } else
+                       rv |= !! c->test;
        }
  
        if (c->brief) {
@@@ -623,9 -623,6 +624,9 @@@ This is pretty borin
                        else if (disk.raid_disk < 0)
                                printf("   %5d   %5d    %5d        -     ",
                                       disk.number, disk.major, disk.minor);
 +                      else if (disk.number < 0)
 +                              printf("       -   %5d    %5d    %5d     ",
 +                                     disk.major, disk.minor, disk.raid_disk);
                        else
                                printf("   %5d   %5d    %5d    %5d     ",
                                       disk.number, disk.major, disk.minor, disk.raid_disk);
                        }
                }
                if (disk.state == 0) spares++;
-               if (c->test && d < array.raid_disks
-                   && !(disk.state & (1<<MD_DISK_SYNC)))
-                       rv |= 1;
                dv=map_dev_preferred(disk.major, disk.minor, 0, c->prefer);
                if (dv != NULL) {
                        if (c->brief)