Btrfs: fix wrong mirror number tuning
authorMiao Xie <miaox@cn.fujitsu.com>
Wed, 19 Jun 2013 10:20:17 +0000 (18:20 +0800)
committerJosef Bacik <jbacik@fusionio.com>
Tue, 2 Jul 2013 15:50:50 +0000 (11:50 -0400)
Now reading the data from the target device of the replace operation is allowed,
so the mirror number that is greater than the stripes number of a chunk is valid,
we will tune it when we find there is no target device later. Fix it.

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/volumes.c

index c58bf19a8a483d9ac900aed6bd18944e933b1e6b..7789598eeb7589bcab8f358283273174ddc32a01 100644 (file)
@@ -4420,9 +4420,6 @@ static int __btrfs_map_block(struct btrfs_fs_info *fs_info, int rw,
        map = (struct map_lookup *)em->bdev;
        offset = logical - em->start;
 
-       if (mirror_num > map->num_stripes)
-               mirror_num = 0;
-
        stripe_len = map->stripe_len;
        stripe_nr = offset;
        /*