--- ata-raid.c.orig Thu Oct 13 10:15:48 2005 +++ ata-raid.c Wed Dec 14 20:06:18 2005 @@ -460,7 +460,9 @@ if ((composite = ata_alloc_composite())) { if ((mirror = ata_alloc_request())) { - rdp->rebuild_lba = blk + chunk; + if ((blk <= rdp->rebuild_lba) && + ((blk + chunk) > rdp->rebuild_lba)) + rdp->rebuild_lba = blk + chunk; bcopy(request, mirror, sizeof(struct ata_request)); mirror->this = this;