dm-raid1.c:recover() was assuming that DEFAULT_MIRROR was 0. --- diff/drivers/md/dm-raid1.c 2003-11-26 10:18:57.000000000 +0000 +++ source/drivers/md/dm-raid1.c 2003-11-26 10:19:56.000000000 +0000 @@ -668,13 +668,15 @@ from.count = reg->rh->region_size; /* fill in the destinations */ - for (i = 1; i < ms->nr_mirrors; i++) { - m = ms->mirror + i; - dest = to + (i - 1); + for (i = 0, dest = to; i < ms->nr_mirrors; i++) { + if (i == DEFAULT_MIRROR) + continue; + m = ms->mirror + i; dest->bdev = m->dev->bdev; dest->sector = m->offset + region_to_sector(reg->rh, reg->key); dest->count = from.count; + dest++; } /* hand to kcopyd */