diff options
author | Piergiorgio Sartor <piergiorgio.sartor@nexgo.de> | 2014-02-01 22:16:52 +0100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2014-02-04 06:06:46 +0100 |
commit | 21d648132a5ae11707b5f4a8fd11250faa9b3ee1 (patch) | |
tree | 361e8ec62c97514728d0c43bd133daa8775fe6bf /raid6check.c | |
parent | raid6check.c: fix position printout (diff) | |
download | mdadm-21d648132a5ae11707b5f4a8fd11250faa9b3ee1.tar.xz mdadm-21d648132a5ae11707b5f4a8fd11250faa9b3ee1.zip |
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.c | 2 |
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]]; |