STRUCT LEAPRAID_RAID_VOLUME(9)
π¦ struct leapraid_raid_volume(9) β the Kernel API Manual era
okay bestie, so this whole page is literally about struct leapraid_raid_volume, which is the RAID volume structure β like, the main character of volume bookkeeping in the leapraid driver π
. yes it's a (9) page, yes it's kernel API, and yes we're gonna get through it together, no cap.
β¨ NAME β¨
struct leapraid_raid_volume β literally the RAID volume structure, that's the whole vibe π
πΈ SYNOPSIS πΈ
here's the struct in all its glory, copy it exactly bestie, i'm not about to let you typo a kernel header:
struct leapraid_raid_volume {
struct list_head list;
struct kref refcnt;
struct scsi_target *starget;
struct scsi_device *sdev;
unsigned int id;
unsigned int channel;
u64 wwid;
u16 hdl;
u8 vol_type;
u8 pd_num;
u8 resp;
u32 dev_info;
};
okk now let's meet every single member one by one, no skipping, we don't do that here π«Ά
π Members π
π the plumbing members
listβ the list head for volume management. it's how this volume hangs out with all its volume friends β¨refcntβ the reference count. classic. watched like a hawk. π
π the SCSI members
stargetβ pointer to the SCSI target structure π―sdevβ pointer to the SCSI device structure π«
π§ the identity members
idβ the volume ID, anunsigned intπͺͺchannelβ the SCSI channel, also anunsigned intπ‘wwidβ the World wide Identifier, au64. iconic name, iconic type πhdlβ the volume handle, au16π€
π₯ the status + info members
vol_typeβ the volume type, au8π·οΈpd_numβ the number of physical disks, au8πΏrespβ the response status, au8π¨dev_infoβ the device information, au32π
quick vibe check: every type and every field name above is exactly what's in the header β don't be out here renaming stuff, the compiler WILL notice π
π SEE ALSO π
first up, the source of truth lives in the kernel file ./drivers/scsi/leapraid/leapraid_func.h β go read it, iykyk π
and the whole friend group of related pages, all of them, in this exact order:
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_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)
like i said. EVERY. SINGLE. ONE. π we don't do "etc." in this house.
and that's the page bestie, you ate it, periodt π ok bye, this came to you from ./drivers/scsi/leapraid, dated October 2026, and it's still struct leapraid_raid_volume(9) β slay π
π¦ 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