From b601104eb4a4733a838fb86e9e279fed14ce9d3f Mon Sep 17 00:00:00 2001 From: Lukasz Dorau Date: Mon, 10 Oct 2011 09:16:40 +1100 Subject: [PATCH] imsm: fix: stopped resync does not continue after auto-assemblation Resync stopped with "mdadm -Ss" command does not continue after issuing "mdadm -As" command. Signed-off-by: Lukasz Dorau Signed-off-by: NeilBrown --- mdadm.conf.5 | 5 ++++- super-intel.c | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) --- mdadm-3.2.2/mdadm.conf.5.orig 2011-10-18 14:35:24.254923974 +0200 +++ mdadm-3.2.2/mdadm.conf.5 2011-10-18 14:35:36.231924727 +0200 @@ -439,7 +439,7 @@ of domains of all devices in that array. A spare can be automatically moved from one array to another if the set of the destination array's .I domains -contains all the +ppcontains all the .I domains of the new disk or if both arrays have the same .IR spare-group . @@ -463,6 +463,7 @@ .B path= file glob matching anything from .B /dev/disk/by-path +.TP .B type= either .B disk @@ -471,6 +472,8 @@ .TP .B action= include, re-add, spare, spare-same-slot, or force-spare +.B auto= +yes, no, or homehost. .P The --- mdadm-3.2.2/super-intel.c.orig 2011-10-18 14:34:24.000000000 +0200 +++ mdadm-3.2.2/super-intel.c 2011-10-18 14:36:23.356925467 +0200 @@ -2223,7 +2223,8 @@ info->custom_array_size = __le32_to_cpu(dev->size_high); info->custom_array_size <<= 32; info->custom_array_size |= __le32_to_cpu(dev->size_low); - if (prev_map && map->map_state == prev_map->map_state) { + if (prev_map && map->map_state == prev_map->map_state && + (migr_type(dev) == MIGR_GEN_MIGR)) { info->reshape_active = 1; info->new_level = get_imsm_raid_level(map); info->new_layout = imsm_level_to_layout(info->new_level);