return 0;
switch (migr_type(dev)) {
+ case MIGR_GEN_MIGR:
case MIGR_VERIFY:
case MIGR_REPAIR:
case MIGR_INIT: {
migr_chunk = migr_strip_blocks_rebuild(dev);
return migr_chunk * stripes_per_unit;
}
- case MIGR_GEN_MIGR:
- /* FIXME I need a number here */
case MIGR_STATE_CHANGE:
default:
return 0;
/* still reshaping, maybe update curr_migr_unit */
long long blocks_per_unit = blocks_per_migr_unit(dev);
long long unit = a->last_checkpoint;
- unit /= blocks_per_unit;
- if (unit > __le32_to_cpu(dev->vol.curr_migr_unit)) {
- dev->vol.curr_migr_unit = __cpu_to_le32(unit);
- super->updates_pending++;
+ if (blocks_per_unit) {
+ unit /= blocks_per_unit;
+ if (unit >
+ __le32_to_cpu(dev->vol.curr_migr_unit)) {
+ dev->vol.curr_migr_unit =
+ __cpu_to_le32(unit);
+ super->updates_pending++;
+ }
}
return 0;
} else {