From e1742195ff3dba97929f81af6b7633481a23397a Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Tue, 7 Feb 2012 15:03:51 +0100 Subject: [PATCH 07/12] imsm: FIX: Chunk size migration problem When chunk size migration occurs (e.g. 128k->4k) first checkpoint cannot be set in md due to too small step. Correct migration record initialization to allow whole copy area usage and increase migration checkpoint step. Signed-off-by: Adam Kwolek Signed-off-by: NeilBrown --- super-intel.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/super-intel.c b/super-intel.c index 19a2c84..f5762d8 100644 --- a/super-intel.c +++ b/super-intel.c @@ -8913,7 +8913,8 @@ void init_migr_record_imsm(struct supertype *st, struct imsm_dev *dev, migr_rec->dest_depth_per_unit = GEN_MIGR_AREA_SIZE / max(map_dest->blocks_per_strip, map_src->blocks_per_strip); - migr_rec->dest_depth_per_unit *= map_dest->blocks_per_strip; + migr_rec->dest_depth_per_unit *= + max(map_dest->blocks_per_strip, map_src->blocks_per_strip); new_data_disks = imsm_num_data_members(dev, MAP_0); migr_rec->blocks_per_unit = __cpu_to_le32(migr_rec->dest_depth_per_unit * new_data_disks); -- 1.7.4.4