_scsih_block...tached_to_ex(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… _scsih_block...tached_to_ex(9) πŸ’…

okay bestie, welcome to the Kernel API Manual page for _scsih_block...tached_to_ex(9) β€” yes the name is long, yes it's the main character, and yes we're gonna get through it together 🫢


🌸 NAME 🌸

_scsih_block_io_to_children_attached_to_ex β€” and that's literally it, the NAME section gives us the function and then just... vibes. No tagline. Iconic minimalist behavior, honestly ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

void _scsih_block_io_to_children_attached_to_ex (struct MPT3SAS_ADAPTER
*ioc , struct _sas_node *sas_expander );

it returns void (nothing, nada, she's done after doing the thing) and takes two pointers. copy it exactly, do not "fix" the spacing, we don't do that here πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • ioc β€” the per adapter object 🫢
  • sas_expander β€” the sas_device object. (yes, the parameter's named sas_expander and the docs call it the sas_device object β€” that's just the lore, we move 😭)

πŸ”₯ DESCRIPTION πŸ”₯

okay so here's the tea: this routine sets the sdev state to SDEV_BLOCK for all devices attached to this expander. every single child, no cap, all of them get blocked πŸ‘‘

and when does it fire? when the expander is pulled. that's the moment. expander gone β†’ all her children get blocked. it's giving "the way that one removal cascades" πŸ’€


🌈 SEE ALSO 🌈

Kernel file ./drivers/scsi/mpt3sas/mpt3sas_scsih.c, enum device_responsive_state(9), struct sense_info(9), struct fw_event_work(9), struct _scsi_io_transfer(9), plus the entire extended fam β€” buckle up, this list is a whole group chat πŸ”₯

like, that's the whole friend group right there πŸ’€ love that for them.


fr fr reminder: this page lives under ./drivers/scsi/mpt3sas and it's stamped October 2026 β€” so screenshot it, cite it, whatever, just remember where she came from πŸŽ€

k bye bestie, go block some IO πŸ˜˜βœ¨πŸ’–

πŸ“¦ where this page comes from