md/raid5: make sure a reshape restarts at the correct address.
authorNeilBrown <neilb@suse.de>
Thu, 13 Aug 2009 00:13:00 +0000 (10:13 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 13 Aug 2009 00:13:00 +0000 (10:13 +1000)
This "if" don't allow for the possibility that the number of devices
doesn't change, and so sector_nr isn't set correctly in that case.
So change '>' to '>='.

Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid5.c

index b8a22a2205cf3d8d6e6694579a07578e311575a9..94a74cb5cccb4b58810b7717b8500606f141b307 100644 (file)
@@ -3785,7 +3785,7 @@ static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped
                    conf->reshape_progress < raid5_size(mddev, 0, 0)) {
                        sector_nr = raid5_size(mddev, 0, 0)
                                - conf->reshape_progress;
-               } else if (mddev->delta_disks > 0 &&
+               } else if (mddev->delta_disks >= 0 &&
                           conf->reshape_progress > 0)
                        sector_nr = conf->reshape_progress;
                sector_div(sector_nr, new_data_disks);