STRUCT LEAPRAID_SAS_DEV(9)
π 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, astruct 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. astruct kref, keeping things alive (or letting them go π).idβ the device ID.unsigned int.channelβ the SCSI channel. alsounsigned int.slotβ the slot number, au16.phyβ the PHY identifier, a lilu8.respβ the response status. anotheru8.led_onβ the LED state β¨ (au8, as a treat).sas_addrβ the SAS address,u64and proud.dev_nameβ the device name. alsou64, 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, au8saying "not yet bestie" πenc_levelβ the enclosure level,u8.port_connectionβ the port connection,u8.connector_nameβ the connector name. it's declared asu8 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms