STRUCT LEAPRAID_TOPO_NODE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct leapraid_topo_node(9) πŸ’…

okay bestie, listen up β€” this is the manual page for struct leapraid_topo_node(9) from the Kernel API Manual, and it's literally the SAS topology node for LeapRAID. think of it as the little index card that says "hi, this is a thing in the fabric, here's where it lives and who its parents are" πŸ¦‹


✨ NAME ✨

struct leapraid_topo_node β€” SAS topology node for LeapRAID

no cap, that's the whole vibe. one struct, one job: keep track of a node in the SAS topology.


πŸŽ€ SYNOPSIS πŸŽ€

struct leapraid_topo_node {
    struct list_head list;
    struct list_head sas_port_list;
    struct leapraid_card_port *card_port;
    struct leapraid_card_phy *card_phy;
    struct sas_rphy *rphy;
    struct device *parent_dev;
    u64 sas_address;
    u64 sas_address_parent;
    u8 phys_num;
    u16 hdl;
    u16 enc_hdl;
    u64 enc_lid;
    u8 resp;
 };

look at her. fourteen fields. main character energy fr fr πŸ’–


🌸 Members 🌸

okay so this is the part where we meet everyone in the group chat πŸ‘‘

  • list β€” the list head for linking nodes together. that's her job, that's her whole personality.
  • sas_port_list β€” a list of SAS ports. yes, another list. she's a connector.
  • card_port β€” the associated card port. like, which port on the card she's vibing with.
  • card_phy β€” the associated card PHY.
  • rphy β€” the SAS remote PHY device.
  • parent_dev β€” pointer to the parent device. found family πŸ’œ
  • sas_address β€” the SAS address of this node.
  • sas_address_parent β€” the parent node's SAS address. iykyk.
  • phys_num β€” number of physical links.
  • hdl β€” the handle identifier.
  • enc_hdl β€” the enclosure handle.
  • enc_lid β€” the enclosure logical identifier.
  • resp β€” the response status flag.
heads up bestie 🫢 β€” phys_num and resp are u8, hdl and enc_hdl are u16, and sas_address, sas_address_parent and enc_lid are u64. the widths are literally right there in the synopsis, don't come for me.

πŸ¦‹ SEE ALSO πŸ¦‹

so the source of truth lives in the kernel file ./drivers/scsi/leapraid/leapraid_func.h, and here's the whole extended universe of related pages β€” no skipping, we're doing all of them πŸ’€:

  • struct leapraid_adapter_features(9)
  • struct leapraid_adapter_attr(9)
  • struct leapraid_io_req_tracker(9)
  • struct leapraid_task_tracker(9)
  • struct leapraid_rep_desc_maint(9)
  • struct leapraid_rep_desc_seg_maint(9)
  • struct leapraid_mem_desc(9)
  • enum LEAPRAID_CB_INDEX(9)
  • struct leapraid_default_reply(9)
  • struct leapraid_sense_buffer(9)
  • struct leapraid_driver_cmd(9)
  • struct leapraid_driver_cmds(9)
  • struct leapraid_dynamic_task_desc(9)
  • struct leapraid_fw_evt_work(9)
  • struct leapraid_fw_evt_struct(9)
  • struct leapraid_rq(9)
  • struct leapraid_int_rq(9)
  • struct leapraid_blk_mq_poll_rq(9)
  • struct leapraid_notification_desc(9)
  • struct leapraid_overheat_desc(9)
  • struct leapraid_reset_desc(9)
  • struct leapraid_scan_dev_desc(9)
  • struct leapraid_access_ctrl(9)
  • struct leapraid_fw_log_desc(9)
  • struct leapraid_card_port(9)
  • struct leapraid_card_phy(9)
  • struct leapraid_dev_topo(9)
  • struct leapraid_boot_dev(9)
  • struct leapraid_boot_devs(9)
  • struct leapraid_adapter(9)
  • struct leapraid_enc_node(9)
  • struct leapraid_raid_volume(9)
  • struct leapraid_starget_priv(9)
  • struct leapraid_sdev_priv(9)
  • struct leapraid_sas_dev(9)
  • struct leapraid_sas_port(9)
  • struct leapraid_vphy(9)
  • struct leapraid_tgt_rst_list(9)
  • struct sense_info(9)
  • struct leapraid_fw_log_info(9)
  • enum reset_type(9)
  • struct leapraid_card_port_feature(9)

aaaand that's the page 🌈 it ships out of ./drivers/scsi/leapraid, dated October 2026, and the footer literally just says struct leapraid_topo_node(9) again because she's iconic like that. go read the other forty-two pages, i'll wait πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from