From 21d648132a5ae11707b5f4a8fd11250faa9b3ee1 Mon Sep 17 00:00:00 2001 From: Piergiorgio Sartor Date: Sat, 1 Feb 2014 22:16:52 +0100 Subject: [PATCH] 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 --- raid6check.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/raid6check.c b/raid6check.c index 042f7d0..48e9094 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]];