During activation of spare disks, only one of all available spare disks can be activated at this moment. It causes that for example during take-over from RAID0 with 2 disks to RAID10, only one of two spare disks is taken for recovery and a degraded RAID10 array with only 3 of 4 working disks is created. It has been fixed by adding more than one of all available spare disks and saving them in additional_test_list which is passed to imsm_add_spare(). Signed-off-by: Lukasz Dorau <lukasz.dorau@xxxxxxxxx> --- super-intel.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/super-intel.c b/super-intel.c index 7de207a..3185e91 100644 --- a/super-intel.c +++ b/super-intel.c @@ -6672,9 +6672,9 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a, */ dl = imsm_readd(super, i, a); if (!dl) - dl = imsm_add_spare(super, i, a, 0, NULL); + dl = imsm_add_spare(super, i, a, 0, rv); if (!dl) - dl = imsm_add_spare(super, i, a, 1, NULL); + dl = imsm_add_spare(super, i, a, 1, rv); if (!dl) continue; @@ -6711,8 +6711,6 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a, num_spares++; dprintf("%x:%x to be %d at %llu\n", dl->major, dl->minor, i, di->data_offset); - - break; } if (!rv) -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html