From: Artur Paszkiewicz Date: Thu, 15 Sep 2016 07:53:58 +0000 (+0200) Subject: imsm: do not activate spares for uninitialized member arrays X-Git-Tag: mdadm-4.0~53 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=83ca7d4527a8abe65a06256ce87e4f2f719449f2;p=mdadm.git imsm: do not activate spares for uninitialized member arrays This fixes some issues when a member array is created with "missing" devices in a container that has more devices than used in the member array. Reported-by: Yi Zhang Signed-off-by: Artur Paszkiewicz Signed-off-by: Jes Sorensen --- diff --git a/super-intel.c b/super-intel.c index 92817e9e..032ef000 100644 --- a/super-intel.c +++ b/super-intel.c @@ -7789,6 +7789,11 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a, IMSM_T_STATE_DEGRADED) return NULL; + if (get_imsm_map(dev, MAP_0)->map_state == IMSM_T_STATE_UNINITIALIZED) { + dprintf("imsm: No spare activation allowed. Volume is not initialized.\n"); + return NULL; + } + /* * If there are any failed disks check state of the other volume. * Block rebuild if the another one is failed until failed disks