Fix raid6 error recovery in 'restripe' code.

Thanks to Matthias Urlichs for discovering and reporting this.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2009-09-25 17:23:33 +10:00
parent f24e2d6c06
commit e38cc2d87b
1 changed files with 2 additions and 2 deletions

View File

@ -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;