STRUCT LEAPRAID_SAS_DEV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct leapraid_sas_dev(9) β€” literally the SAS device structure, bestie

okay so real talk, this is a page straight out of the Kernel API Manual, and it's all about struct leapraid_sas_dev β€” the SAS device structure. it's giving "one struct to track them all" energy and honestly? iconic. πŸ¦‹


✨ SYNOPSIS

struct leapraid_sas_dev {
    struct list_head list;
    struct scsi_target *starget;
    struct leapraid_card_port *card_port;
    struct sas_rphy *rphy;
    struct kref refcnt;
    unsigned int id;
    unsigned int channel;
    u16 slot;
    u8 phy;
    u8 resp;
    u8 led_on;
    u64 sas_addr;
    u64 dev_name;
    u16 hdl;
    u64 parent_sas_addr;
    u16 enc_hdl;
    u64 enc_lid;
    u16 volume_hdl;
    u64 volume_wwid;
    u32 dev_info;
    u8 pend_sas_rphy_add;
    u8 enc_level;
    u8 port_connection;
    u8 connector_name[LEAPRAID_SAS_DEV_P0_CON_NAME_LEN + 1];
};

like, look at her. 24 fields. main character energy fr fr. πŸ‘‘


πŸŽ€ Members

okay so let's go member by member, no skips, no cap β€” every single one is here:

  • list β€” the list head for device management. it's how the device keeps its little social circle together πŸ’…
  • starget β€” the SCSI target structure. yes bestie, a struct scsi_target *.
  • card_port β€” the associated card port.
  • rphy β€” the SAS remote PHY. struct sas_rphy * if you're keeping track πŸ¦‹
  • refcnt β€” the reference count. a struct kref, keeping things alive (or letting them go 😭).
  • id β€” the device ID. unsigned int.
  • channel β€” the SCSI channel. also unsigned int.
  • slot β€” the slot number, a u16.
  • phy β€” the PHY identifier, a lil u8.
  • resp β€” the response status. another u8.
  • led_on β€” the LED state ✨ (a u8, as a treat).
  • sas_addr β€” the SAS address, u64 and proud.
  • dev_name β€” the device name. also u64, don't ask questions.
  • hdl β€” the device handle, u16.
  • parent_sas_addr β€” the parent SAS address. u64. family tree moment 🌸
  • enc_hdl β€” the enclosure handle, u16.
  • enc_lid β€” the enclosure logical ID, u64.
  • volume_hdl β€” the volume handle, u16.
  • volume_wwid β€” the volume WWID, u64.
  • dev_info β€” the device information, u32.
  • pend_sas_rphy_add β€” the pending SAS remote PHY addition flag. yes that's the whole vibe, a u8 saying "not yet bestie" πŸ™ˆ
  • enc_level β€” the enclosure level, u8.
  • port_connection β€” the port connection, u8.
  • connector_name β€” the connector name. it's declared as u8 connector_name[LEAPRAID_SAS_DEV_P0_CON_NAME_LEN + 1]; β€” array sized off that macro plus one, periodt.

πŸ”₯ SEE ALSO

the source lives in the kernel file ./drivers/scsi/leapraid/leapraid_func.h, and here's the whole squad it runs with β€” all of them, no cuts, because we don't do that here πŸ’–

  • 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_topo_node(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_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)

that's the whole page bestie, go read the header file and slay πŸ’œ

so anyway, this page comes from the ./drivers/scsi/leapraid corner of the kernel, and the manual fairy stamped it October 2026 β€” that's the version and date, you're welcome, mwah πŸŽ€βœ¨

πŸ“¦ where this page comes from