summaryrefslogtreecommitdiff
path: root/raid6check.c
diff options
context:
space:
mode:
authorPiergiorgio Sartor <piergiorgio.sartor@nexgo.de>2014-02-01 22:16:52 +0100
committerNeilBrown <neilb@suse.de>2014-02-04 16:06:46 +1100
commit21d648132a5ae11707b5f4a8fd11250faa9b3ee1 (patch)
tree361e8ec62c97514728d0c43bd133daa8775fe6bf /raid6check.c
parentafc755e9a6ae359a30ddac3ec98040c32c52250d (diff)
raid6check.c: fix Q parity generation
In the transition to 4K page processing, the Q parity generation had a wrong offset in the buffer. This patche fix this. Signed off: piergiorgio.sartor@nexgo.de Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'raid6check.c')
-rw-r--r--raid6check.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/raid6check.c b/raid6check.c
index 042f7d07..48e9094a 100644
--- a/raid6check.c
+++ b/raid6check.c
@@ -354,7 +354,7 @@ int check_stripes(struct mdinfo *info, int *source, unsigned long long *offsets,
blocks_page[i] = blocks[i] + j * CHECK_PAGE_SIZE;
}
if (disk[j] == diskQ) {
- qsyndrome(p, (uint8_t*)stripes[diskQ], (uint8_t**)blocks_page, data_disks, CHECK_PAGE_SIZE);
+ qsyndrome(p, (uint8_t*)stripes[diskQ] + j * CHECK_PAGE_SIZE, (uint8_t**)blocks_page, data_disks, CHECK_PAGE_SIZE);
} else {
char *all_but_failed_blocks[data_disks];
int failed_block_index = block_index_for_slot[disk[j]];