async_syndrome_val(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… async_syndrome_val β€” or, "let's check that raid6 syndrome, but make it async"

okay so bestie, you found a kernel API manual page πŸ’– welcome, this one lives in the Kernel API Manual and it's about async_syndrome_val β€” asynchronously validate a raid6 syndrome. yes that's the whole NAME section, she's short and she's iconic ✨


🌸 SYNOPSIS

struct dma_async_tx_descriptor * async_syndrome_val (struct page
**blocks , unsigned int *offsets , int disks , size_t len , enum
sum_check_flags *pqres , struct page *spare , unsigned int s_off ,
struct async_submit_ctl *submit );

like, look at her. returns a struct dma_async_tx_descriptor *, takes a whole little friend group of arguments 🫢 full breakdown below, no skipping ✨


πŸŽ€ ARGUMENTS

  • blocks β€” the source blocks, indexed from 0..disks-3, then P at disks-2 and Q at disks-1. so the P and Q blocks are literally the last two seats in the row, iykyk πŸ’…
  • offsets β€” the common offset into each block (both src and dest, bestie) where the transaction starts. one offset to rule them all ✨
  • disks β€” the number of blocks, including any missing P or Q β€” see below, there's lore πŸ‘€
  • len β€” length of the operation, in bytes. numbers, we love her πŸ“
  • pqres β€” if the validation fails, SUM_CHECK_P_RESULT and/or SUM_CHECK_Q_RESULT get set here. it's giving "receipts" 🧾
  • spare β€” a temporary result buffer, needed for the synchronous case πŸ’€ yes, temporary. don't get attached.
  • s_off β€” the spare buffer's page offset πŸŽ€
  • submit β€” the submission / completion modifiers, aka the vibe check for how this transaction goes down πŸ”₯

πŸ¦‹ DESCRIPTION

so the same notes from async_gen_syndrome apply to the blocks and disks parameters of this routine β€” like, go read that one too, bestie, it's a whole thing πŸ“š

and the synchronous path? it requires a temporary result buffer and submit->scribble to be specified. not optional. not negotiable. literally required, no cap 🚨


🌈 SEE ALSO


that's the whole page, periodt πŸ’– she came from ./crypto/async_tx, dated October 2026, and she's filed under the Kernel API Manual. go forth and validate those syndromes, bestie πŸŒΈπŸ¦‹βœ¨

πŸ“¦ where this page comes from