On 19:53, NeilBrown wrote: > - if (logical_sector >= conf->expand_progress) { > + if (mddev->delta_disks < 0 > + ? logical_sector < conf->reshape_progress > + : logical_sector >= conf->reshape_progress) { > disks = conf->previous_raid_disks; > previous = 1; > } else { > - if (logical_sector >= conf->expand_lo) { > + if (mddev->delta_disks < 0 > + ? logical_sector < conf->reshape_safe > + : logical_sector >= conf->reshape_safe) { > spin_unlock_irq(&conf->device_lock); > schedule(); > goto retry; Is it only me who finds such code hard to comprehend? Given that the patch adds checks of the form (delta < 0 && s < r) || (delta >= 0 && s >= r) at several locations, it might make sense to introduce a marco or an inline function for this check. > + /* reshape_progress is the leading edge of a 'reshape' > + * It has value MaxSector when no expand is happening s/expand/reshape Regards Andre -- The only person who always got his work done by Friday was Robinson Crusoe
Attachment:
signature.asc
Description: Digital signature