STRUCT LEAPRAID_RAID_VOLUME(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ 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, an unsigned int πŸͺͺ
  • channel β€” the SCSI channel, also an unsigned int πŸ“‘
  • wwid β€” the World wide Identifier, a u64. iconic name, iconic type 🌍
  • hdl β€” the volume handle, a u16 🀝

πŸ”₯ the status + info members

  • vol_type β€” the volume type, a u8 🏷️
  • pd_num β€” the number of physical disks, a u8 πŸ’Ώ
  • resp β€” the response status, a u8 πŸ“¨
  • dev_info β€” the device information, a u32 πŸ“‹

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