STRUCT _SAS_PORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« struct _sas_port β€” the whole vibe, explained πŸ’«

okay so bestie, welcome to the <italic>Kernel API Manual</italic> entry for struct _sas_port(9) πŸŽ€ β€” yes the manual name is literally just the struct name, we love a self-titled icon. this page is wide/narrow sas port information and it's giving "backstage pass to the expander" energy. let's get into it ✨


🌸 NAME 🌸

struct _sas_port β€” wide/narrow sas port information, fr fr. that's the whole subtitle and honestly? it ate. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the struct in all its glory, copied EXACTLY, no cap, do not touch a single character:

struct _sas_port {
    struct list_head port_list;
    u8 num_phys;
    struct sas_identify remote_identify;
    struct sas_rphy *rphy;
    struct sas_port *port;
    struct hba_port *hba_port;
    struct list_head phy_list;
 };

look at her. seven fields. main character energy. 🌟


πŸ‘‘ Members πŸ‘‘

every single one, bestie, no skipping β€” this is the whole cast list 🫢

  • port_list β€” list of ports belonging to expander. like the group chat member list, but for ports. πŸ“‹
  • num_phys β€” number of phys belonging to this port. a u8, so it's cute and small and knows its limits. πŸ”’
  • remote_identify β€” attached device identification. who's that PokΓ©mon? it's the device on the other end, and this is its ID card. πŸͺͺ
  • rphy β€” sas transport rphy object. pointer to a struct sas_rphy, living its best transport life. πŸš€
  • port β€” sas transport wide/narrow port object. pointer to a struct sas_port, the actual port object, extremely iconic of it. πŸŽ€
  • hba_port β€” hba port entry containing port's port number info. yes "port" three times, i don't make the rules, the kernel does. πŸ’€
  • phy_list β€” _sas_phy list objects belonging to this port. those underscores are load-bearing, keep them exactly like that. πŸ™ˆ

🌈 SEE ALSO 🌈

everything else you should go read after this, in the order the page gives them β€” don't @ me, i'm just the messenger πŸ’Œ

  • Kernel file ./drivers/scsi/mpt3sas/mpt3sas_base.h β€” yes the file is listed here as a reference, iconic behavior, go look at it.
  • struct MPT3SAS_TARGET(9)
  • struct MPT3SAS_DEVICE(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_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)
  • 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)
that's twenty-six references bestie. twenty-six. the author was NOT playing around with the cross-linking 😭 respect honestly.

🧚 sign-off 🧚

this lil masterpiece lives in ./drivers/scsi/mpt3sas and it's dated October 2026 β€” yes, future-dated, she's ahead of her time, a true visionary ⭐ anyway that's the whole page, you understood it perfectly, i'm so proud of you, go read a _sas_phy next πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

πŸ“¦ where this page comes from