Commit:     6d3baf2eb8bd680b2d4f509bc3dbf4dcd6e27a40
Parent:     c6b36e9a3c57b73c7a6bdf787baa55f21195bba9
Author:     NeilBrown <[EMAIL PROTECTED]>
AuthorDate: Mon Mar 5 00:30:44 2007 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Mon Mar 5 07:57:53 2007 -0800

    [PATCH] md: fix for raid6 reshape
    Recent patch for raid6 reshape had a change missing that showed up in
    subsequent review.
    Many places in the raid5 code used "conf->raid_disks-1" to mean "number of
    data disks".  With raid6 that had to be changed to "conf->raid_disk -
    conf->max_degraded" or similar.  One place was missed.
    This bug means that if a raid6 reshape were aborted in the middle the
    recorded position would be wrong.  On restart it would either fail (as the
    position wasn't on an appropriate boundary) or would leave a section of the
    array unreshaped, causing data corruption.
    Signed-off-by: Neil Brown <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 drivers/md/raid5.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index d247429..54a1ad5 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -3071,7 +3071,7 @@ static sector_t reshape_request(mddev_t *mddev, sector_t 
sector_nr, int *skipped
-       conf->expand_progress = (sector_nr + i)*(conf->raid_disks-1);
+       conf->expand_progress = (sector_nr + i) * new_data_disks;
        /* Ok, those stripe are ready. We can start scheduling
         * reads on the source stripes.
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to