STRUCT MPT3SAS_DEVICE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct MPT3SAS_DEVICE πŸ’–

okay so bestie, welcome to the struct MPT3SAS_DEVICE(9) page from the Kernel API Manual β€” this is the little glow-up corner of the kernel docs where we talk about sdev private hostdata. yes, "hostdata". yes, it's as personal as it sounds. it's the private stash that hangs off an sdev. let's get into it ✨


🌸 SYNOPSIS 🌸

here's the whole struct, character for character, no cap:

struct MPT3SAS_DEVICE {
    struct MPT3SAS_TARGET *sas_target;
    unsigned int    lun;
    u32 flags;
    u8 configured_lun;
    u8 block;
    u8 deleted;
    u8 tlr_snoop_check;
    u8 ignore_delay_remove;
    u8 ncq_prio_enable;
    unsigned long ata_command_pending;
 };

look at all those u8s. so many tiny little flags. it's giving "collect them all" energy πŸŽ€


πŸ¦‹ Members πŸ¦‹

so the Members rundown spells out these ones for you, and here they are, all documented and cute:

  • sas_target β€” the starget private hostdata 🫢 honestly the main character of this struct, iykyk.
  • lun β€” the lun number. that's it, that's the whole vibe. a lun for your lun. πŸ”₯
  • flags β€” these are MPT_DEVICE_XXX flags. those XXXs are literal, bestie, don't come for me.
  • configured_lun β€” tells you the lun is configured βœ… periodt.
  • block β€” this one means the device is sitting in SDEV_BLOCK state. blocked. benched. not today. πŸ’€
  • tlr_snoop_check β€” a flag used in determining whether to disable TLR πŸ‘€ it's a snoop check, it's doing reconnaissance, it's literally investigating.
  • ata_command_pending β€” a SATL passthrough that's outstanding for the device. pending. unresolved. the group chat message left on read 😭
ngl, the struct up in SYNOPSIS has a few more fields in it than the Members list actually describes β€” that's just how this page ships, so I'm telling you exactly what's here and nothing more πŸ™ˆ

🌈 SEE ALSO 🌈

Kernel file ./drivers/scsi/mpt3sas/mpt3sas_base.h, plus this whole iconic friend group of cross-references:

  • struct MPT3SAS_TARGET(9)
  • struct _internal_cmd(9)
  • struct _sas_device(9)
  • pcie_device_get(9)
  • pcie_device_free(9)
  • pcie_device_put(9)
  • struct _boot_device(9)
  • struct _sas_port(9)
  • struct _sas_phy(9)
  • struct _sas_node(9)
  • struct _enclosure_node(9)
  • enum reset_type(9)
  • struct pcie_sg_list(9)
  • struct chain_tracker(9)
  • struct scsiio_tracker(9)
  • struct request_tracker(9)
  • struct _tr_list(9)
  • struct _sc_list(9)
  • struct _event_ack_list(9)
  • struct adapter_reply_queue(9)
  • struct io_uring_poll_queue(9)
  • struct virtual_phy(9)
  • struct hba_port(9)
  • struct htb_rel_query(9)
  • struct MPT3SAS_ADAPTER(9)

like, that's a whole rollout. every single one of them is in this header and every single one of them made the list πŸ’…


okay that's the page!! tysm for reading, you ate that πŸ“

and for the credits stannies: this one lives in ./drivers/scsi/mpt3sas, dated October 2026, and it's filed under struct MPT3SAS_DEVICE(9) β€” mwah, bye bestie πŸ’œπŸ§š

πŸ“¦ where this page comes from