]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
imsm: FIX: Return blocks_per unit for general migration
authorAdam Kwolek <adam.kwolek@intel.com>
Tue, 8 Mar 2011 05:10:35 +0000 (16:10 +1100)
committerNeilBrown <neilb@suse.de>
Tue, 8 Mar 2011 05:10:35 +0000 (16:10 +1100)
For general migration, blocks per unit are required for all disks,
not for per-member.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
super-intel.c

index 0091b2711aa66c4103a8c20f5d12938f261c4388..26276f7ea89136eb4b94dbf1596a573a4b11415c 100644 (file)
@@ -1690,6 +1690,8 @@ static __u64 blocks_per_migr_unit(struct imsm_dev *dev)
                migr_chunk = migr_strip_blocks_resync(dev);
                disks = imsm_num_data_members(dev, 0);
                blocks_per_unit = stripes_per_unit * migr_chunk * disks;
+               if (migr_type(dev) == MIGR_GEN_MIGR)
+                       return blocks_per_unit;
                stripe = __le32_to_cpu(map->blocks_per_strip) * disks;
                segment = blocks_per_unit / stripe;
                block_rel = blocks_per_unit - segment * stripe;