zfcp_qdio_req_init(9)
π zfcp_qdio_req_init(9) β the kernel API manual, but make it make sense
okay so bestie, welcome to the zfcp_qdio_req_init page from the Kernel API Manual β yes it's a section 9 manpage, yes it's about s390 SCSI queueing, no you're not allowed to scroll past. this one's short and sweet, we love a low-commitment icon β¨
πΈ SYNOPSIS πΈ
like, here's the whole entire vibe, character for character, don't touch it:
void zfcp_qdio_req_init (struct zfcp_qdio *qdio , struct zfcp_qdio_req
*q_req , u64 req_id , u8 sbtype , void *data , u32 len );
it returns void btw. no cap, nothing comes back. it just... does the thing π«Ά
π ARGUMENTS π
qdioβ the request queue where you're gonna start putting the request. this is the main character venue, the group chat the message gets sent to π¬q_reqβ the actual qdio request you're starting up. this is the message you're drafting, the little guy being prepped for its moment π₯req_idβ The request id. yep, that's the label. iykyk, it's how everybody tells your request apart from the other requests π·οΈsbtypeβ type flags to set for all sbals. not some. not most. all of them, periodt πdataβ First data block. first of many, presumably, but we're only claiming the first one here πlenβ Length of first data block. gotta know how big that first one is, obviously π
β¨ DESCRIPTION β¨
so this is the start of putting the request into the queue β like the opening scene, the "not me about to do this" moment, the beginning of the whole saga π
the last step? that's passing the request to zfcp_qdio_send. that's the finale, the part where it actually leaves the nest π¦
β οΈ okay this is the important bit, don't skip it: the request queue lock must be held during the whole process from init to send. the whole process. init β send. no dropping it halfway through, no "eh it's probably fine" β hold the lock the entire time, bestie. it's giving non-negotiable π
π SEE ALSO π
all the other little friends in this universe, and they're all in the kernel file ./drivers/s390/scsi/zfcp_qdio.h:
struct zfcp_qdio(9)struct zfcp_qdio_req(9)zfcp_qdio_sbale_req(9)zfcp_qdio_sbale_curr(9)zfcp_qdio_fill_next(9)zfcp_qdio_set_sbale_last(9)zfcp_qdio_skip_to_last_sbale(9)zfcp_qdio_sbal_limit(9)zfcp_qdio_set_data_div(9)zfcp_qdio_real_bytes(9)zfcp_qdio_set_scount(9)
go read them too, they're all bangers, we stan a complete documentation set π
π one tiny warning-shaped reminder before you go: everything upstream lives in ./drivers/s390/scsi β that's the neighbourhood, that's where the source is, that's the whole address π§
and that's the page!! mwah, hope this helped, you're gonna do great with your qdio request initialization ππ
β this iconic little manual page came from ./drivers/s390/scsi, dated October 2026 β¨ slay, see you in the next one π
π¦ 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