NeilBrown: Fix raid6 error recovery in 'restripe' code.

Martin F. Krafft madduck at alioth.debian.org
Wed Jan 27 02:00:49 UTC 2010


Module: mdadm
Branch: build
Commit: e38cc2d87b319572fe7ff08be5657f563b1ef9e7
URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=e38cc2d87b319572fe7ff08be5657f563b1ef9e7

Author: NeilBrown <neilb at suse.de>
Date:   Fri Sep 25 17:23:33 2009 +1000

Fix raid6 error recovery in 'restripe' code.

Thanks to Matthias Urlichs for discovering and reporting this.

Signed-off-by: NeilBrown <neilb at suse.de>

---

 restripe.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/restripe.c b/restripe.c
index 9a70cd0..33548e9 100644
--- a/restripe.c
+++ b/restripe.c
@@ -477,8 +477,8 @@ int save_stripes(int *source, unsigned long long *offsets,
 				for (i = 0; i < data_disks; i++)
 					bufs[i] = (uint8_t*)buf + chunk_size * ((qdisk+1+i) % raid_disks);
 
-				fdisk[0] = (qdisk + 1 + fdisk[0]) * raid_disks;
-				fdisk[1] = (qdisk + 1 + fdisk[1]) * raid_disks;
+				fdisk[0] = (qdisk + 1 + fdisk[0]) % raid_disks;
+				fdisk[1] = (qdisk + 1 + fdisk[1]) % raid_disks;
 				syndrome_disks = data_disks;
 			}
 			bufs[syndrome_disks] = (uint8_t*)buf + chunk_size * disk;




More information about the pkg-mdadm-commits mailing list