Btrfs: fix raid10 reading math
authorChris Mason <chris.mason@oracle.com>
Thu, 3 Nov 2011 16:17:49 +0000 (12:17 -0400)
committerChris Mason <chris.mason@oracle.com>
Thu, 3 Nov 2011 16:17:49 +0000 (12:17 -0400)
The btrfs-progs raid10 code has been silently reading the wrong
raid10 block forever.  We didn't notice because it was always fixed
up by the retry code.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
volumes.c

index 03bfb8c..4c29cef 100644 (file)
--- a/volumes.c
+++ b/volumes.c
@@ -1170,8 +1170,6 @@ again:
                        multi->num_stripes = map->sub_stripes;
                else if (mirror_num)
                        stripe_index += mirror_num - 1;
-               else
-                       stripe_index = stripe_nr % map->sub_stripes;
 
                stripe_nr = stripe_nr / factor;
        } else if (map->type & BTRFS_BLOCK_GROUP_DUP) {