Failed disks do not have valid serial numbers which means we will not
pick up the 'failed' status bit from the metadata entry. Check for
dl->index == -2 to prevent failed disks from being incorporated into the
container.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
info->component_size = reserved;
s = disk->status;
info->disk.state = s & CONFIGURED_DISK ? (1 << MD_DISK_ACTIVE) : 0;
- info->disk.state |= s & FAILED_DISK ? (1 << MD_DISK_FAULTY) : 0;
info->disk.state |= s & SPARE_DISK ? 0 : (1 << MD_DISK_SYNC);
+ if (s & FAILED_DISK || super->disks->index == -2) {
+ info->disk.state |= 1 << MD_DISK_FAULTY;
+ info->disk.raid_disk = -2;
+ }
}
/* only call uuid_from_super_imsm when this disk is part of a populated container,