async_gen_syndrome(9)
π NAME π
async_gen_syndrome β asynchronously calculate a raid6 syndrome
okay so hi bestie, this is the async_gen_syndrome(9) page from the Kernel API Manual β yes, that manual, and yes, weβre doing kernel math with main-character energy. β¨
β¨ SYNOPSIS β¨
struct dma_async_tx_descriptor * async_gen_syndrome (struct page
**blocks , unsigned int *offsets , int disks , size_t len , struct
async_submit_ctl *submit );
π ARGUMENTS π
blocksβ source blocks from idx0..disks-3,Patdisks-2, andQatdisks-1.offsetsβ offset array into each block (src and dest) to start transaction.disksβ number of blocks (including missing P or Q, see below).lenβ length of operation in bytes.submitβ submission/completion modifiers.
π¦ DESCRIPTION π¦
General note, and this is important math lore: this routine assumes a field of GF(2^8) with a primitive polynomial of 0x11d and a generator of {02}. π§
The page picks up mid-thought here, so Iβm keeping the exact fragment: βboth) from the calculation by setting blocks[disks-2] or blocks[disks-1] to NULL.β
π Bestie, when P or Q is omitted,lenmust be<= PAGE_SIZE, because a temporary buffer of this size is used in the synchronous path. No cap.
disks always accounts for both destination buffers.
If any source buffers (blocks[i] where i < disks - 2) are set to NULL, those buffers will be replaced with the raid6_zero_page in the synchronous path and omitted in the hardware-asynchronous path. Slay, but carefully. π
π SEE ALSO π
- Kernel file
./crypto/async_tx/async_pq.cβ go read it, bestie. async_syndrome_val(9)β another reference, iykyk.
kisses and kernel dust π
π«Ά β this page lives in ./crypto/async_tx, dated October 2026, and itβs the async_gen_syndrome(9) glow-up. periodt. π
π¦ 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