aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/md/raid10.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 1a74c12f0a6e..de174ad6f8bd 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -552,14 +552,13 @@ static void __raid10_find_phys(struct geom *geo, struct r10bio *r10bio)
552 for (n = 0; n < geo->near_copies; n++) { 552 for (n = 0; n < geo->near_copies; n++) {
553 int d = dev; 553 int d = dev;
554 sector_t s = sector; 554 sector_t s = sector;
555 r10bio->devs[slot].addr = sector;
556 r10bio->devs[slot].devnum = d; 555 r10bio->devs[slot].devnum = d;
556 r10bio->devs[slot].addr = s;
557 slot++; 557 slot++;
558 558
559 for (f = 1; f < geo->far_copies; f++) { 559 for (f = 1; f < geo->far_copies; f++) {
560 d += geo->near_copies; 560 d += geo->near_copies;
561 if (d >= geo->raid_disks) 561 d %= geo->raid_disks;
562 d -= geo->raid_disks;
563 s += geo->stride; 562 s += geo->stride;
564 r10bio->devs[slot].devnum = d; 563 r10bio->devs[slot].devnum = d;
565 r10bio->devs[slot].addr = s; 564 r10bio->devs[slot].addr = s;