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 */