From e1742195ff3dba97929f81af6b7633481a23397a Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Tue, 7 Feb 2012 15:03:51 +0100 Subject: [PATCH] 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 file changed, 2 insertions(+), 1 deletion(-) --- mdadm-3.2.2.orig/super-intel.c +++ mdadm-3.2.2/super-intel.c @@ -8897,7 +8897,8 @@ void init_migr_record_imsm(struct supert 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);