raid6_xor_syndrome(9)
β¨ raid6_xor_syndrome(9) β Kernel API Manual β¨
π NAME π
raid6_xor_syndrome β update RAID6 P/Q parity. Like, that's the whole assignment, bestie. π
π¦ SYNOPSIS π¦
void raid6_xor_syndrome (int disks , int start , int stop , size_t bytes
, void **ptrs );
π ARGUMENTS π
disksβ number of "disks" to operate on including parity. Yes, parity is included in the count, keep up. β¨startβ first index into disk to update.stopβ last index into disk to update.bytesβ length in bytes of each vector.ptrsβ disks size array of memory pointers.
π DESCRIPTION π
Okay so picture this: this function updates bytes worth of RAID6 P and Q parity in ptrs[disks - 2] and ptrs[disks - 1] respectively, for the memory pointed to by ptrs[start..stop]. Iconic. π
It's used to update parity in place using the following sequence:
- call
raid6_xor_syndrome(disk, start, stop, ...)for the existing data. - update the data in
ptrs[start..stop]. - call
raid6_xor_syndrome(disk, start, stop, ...)for the new data.
Data between start and stop that is not changed should be filled with a pointer to the kernel zero page. That's important, bestie β don't leave it doing its own thing. π«Ά
β οΈ Constraint check, fr fr:disksmust be at least4, and the memory pointed to by each member ofptrsmust be at least64-byte aligned.bytesmust be non-zero and a multiple of512;stopmust be larger or equal tostart.
π SEE ALSO π
Kernel file ./lib/raid/raid6/algos.c, plus raid6_gen_syndrome(9), raid6_recov_2data(9), and raid6_recov_datap(9). Go read those if you're obsessed with parity like me. π
mwah π β source/version: ./lib/raid/raid6; date: October 2026. Stay slaying, parity bestie π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms