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(-) diff --git a/mdadm.conf.5 b/mdadm.conf.5 index 9f31c73..400b10c 100644 --- a/mdadm.conf.5 +++ b/mdadm.conf.5 @@ -439,7 +439,7 @@ A device may belong to several domains. The domain of an array is a union 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 @@ any arbitrary string .B path= file glob matching anything from .B /dev/disk/by-path +.TP .B type= either .B disk @@ -471,6 +472,8 @@ or .TP .B action= include, re-add, spare, spare-same-slot, or force-spare +.B auto= +yes, no, or homehost. .P The diff --git a/super-intel.c b/super-intel.c index 587da38..af06660 100644 --- a/super-intel.c +++ b/super-intel.c @@ -2295,7 +2295,8 @@ static void getinfo_super_imsm_volume(struct supertype *st, struct mdinfo *info, info->custom_array_size |= __le32_to_cpu(dev->size_low); info->recovery_blocked = imsm_reshape_blocks_arrays_changes(st->sb); - 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);