From 15883d11b95b5bbf635ccadebd8a25bacffc880e Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 26 May 2009 12:41:08 +1000 Subject: [PATCH] --- yaml --- r: 145253 b: refs/heads/master c: 848b3182365fdf5a05bcd5ed949071cac2c894b3 h: refs/heads/master i: 145251: cd33851aab71eb3cbc119109a50434eb372f4112 v: v3 --- [refs] | 2 +- trunk/drivers/md/raid5.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index b8bde684b935..270d744ed1cb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b6a9ce688f613e2ee5f15e6720e0bb8520efc36e +refs/heads/master: 848b3182365fdf5a05bcd5ed949071cac2c894b3 diff --git a/trunk/drivers/md/raid5.c b/trunk/drivers/md/raid5.c index 4616bc3a6e71..3c3626d2a1f9 100644 --- a/trunk/drivers/md/raid5.c +++ b/trunk/drivers/md/raid5.c @@ -3811,13 +3811,13 @@ static sector_t reshape_request(mddev_t *mddev, sector_t sector_nr, int *skipped safepos = conf->reshape_safe; sector_div(safepos, data_disks); if (mddev->delta_disks < 0) { - writepos -= reshape_sectors; + writepos -= min(reshape_sectors, writepos); readpos += reshape_sectors; safepos += reshape_sectors; } else { writepos += reshape_sectors; - readpos -= reshape_sectors; - safepos -= reshape_sectors; + readpos -= min(reshape_sectors, readpos); + safepos -= min(reshape_sectors, safepos); } /* 'writepos' is the most advanced device address we might write.