summaryrefslogtreecommitdiff
path: root/super-intel.c
diff options
context:
space:
mode:
authorAdam Kwolek <adam.kwolek@intel.com>2011-12-06 11:28:04 +1100
committerNeilBrown <neilb@suse.de>2011-12-06 11:28:04 +1100
commit3f510843b1354538270ffa64a137f2bf6b656001 (patch)
treea84ebe2a6d95700bd186bf46edbe998f69390b79 /super-intel.c
parentbf2f00718640b5c5cad3076344d347d885b523f9 (diff)
imsm: FIX: Remove single map state limitation in getinfo
It can occur that degradation during migration occurs on disks that are not present in both maps /e.g. degradation on just added disk during OLCE/. This can cause that maps will be in different states (one will be in degraded and second in normal state). In such situation getinfo_super_imsm_volume() will not return migration information. Remove single state limitation in both maps to allow migration information retrieving. Signed-off-by: Adam Kwolek <adam.kwolek@intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'super-intel.c')
-rw-r--r--super-intel.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/super-intel.c b/super-intel.c
index 5827d139..96104ea2 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -2313,8 +2313,7 @@ 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 &&
- (migr_type(dev) == MIGR_GEN_MIGR)) {
+ if (is_gen_migration(dev)) {
info->reshape_active = 1;
info->new_level = get_imsm_raid_level(map);
info->new_layout = imsm_level_to_layout(info->new_level);