imsm: fix thunderdome segfault
disk_list_get() can return NULL if: 1/ A formerly missing disk is re-added 2/ The original array has not been rebuilt, so the family number of the missing disk still matches 3/ The metadata record of the in-sync disks are read before the missing disk This will result in the missing disk not adding its own serial number to the disk_list, only its truncated value will be present. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
parent
ac6449bee9
commit
ecf408e914
|
@ -2429,7 +2429,7 @@ imsm_thunderdome(struct intel_super **super_list, int len)
|
|||
struct intel_disk *idisk;
|
||||
|
||||
idisk = disk_list_get(dl->serial, disk_list);
|
||||
if (is_spare(&idisk->disk) &&
|
||||
if (idisk && is_spare(&idisk->disk) &&
|
||||
!is_failed(&idisk->disk) && !is_configured(&idisk->disk))
|
||||
dl->index = -1;
|
||||
else {
|
||||
|
|
Loading…
Reference in New Issue