From 4cfccda6c5d2587dd62896c01ef71c3302b584fc Mon Sep 17 00:00:00 2001 From: Jonathan Brassow Date: Thu, 21 Feb 2013 13:28:09 +1100 Subject: [PATCH] --- yaml --- r: 360737 b: refs/heads/master c: 4c0ca26bd260dddf3b9781758cb5e2df3f74d4a3 h: refs/heads/master i: 360735: c866dafdbb345bb19f038c929f0e5c6f23da61e6 v: v3 --- [refs] | 2 +- trunk/drivers/md/raid10.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index b79cb774b6f0..cb948a977e5b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c8dc9c654794a765ca61baed07f84ed8aaa7ca8c +refs/heads/master: 4c0ca26bd260dddf3b9781758cb5e2df3f74d4a3 diff --git a/trunk/drivers/md/raid10.c b/trunk/drivers/md/raid10.c index 1a74c12f0a6e..de174ad6f8bd 100644 --- a/trunk/drivers/md/raid10.c +++ b/trunk/drivers/md/raid10.c @@ -552,14 +552,13 @@ static void __raid10_find_phys(struct geom *geo, struct r10bio *r10bio) for (n = 0; n < geo->near_copies; n++) { int d = dev; sector_t s = sector; - r10bio->devs[slot].addr = sector; r10bio->devs[slot].devnum = d; + r10bio->devs[slot].addr = s; slot++; for (f = 1; f < geo->far_copies; f++) { d += geo->near_copies; - if (d >= geo->raid_disks) - d -= geo->raid_disks; + d %= geo->raid_disks; s += geo->stride; r10bio->devs[slot].devnum = d; r10bio->devs[slot].addr = s;