STRUCT LEAPRAID_FW_LOG_DESC(9)
π struct leapraid_fw_log_desc(9) β Kernel API Manual π
okay bestie, so this is a page straight out of the kernel API manual, and today's main character is struct leapraid_fw_log_desc β literally the firmware log descriptor for LeapRAID. yes, the whole vibe is "where does the firmware log live and who's holding onto it". it's giving very much β¨ housekeeping-baddie β¨ and we're gonna stan every single field, no skips. π
πΈ NAME πΈ
struct leapraid_fw_log_desc β the Firmware log descriptor for LeapRAID, periodt. π
π¦ SYNOPSIS π¦
like, here's the whole glow-up, field by field, and yes you're gonna read all of it:
struct leapraid_fw_log_desc {
u8 *fw_log_buffer;
dma_addr_t fw_log_buffer_dma;
char fw_log_wq_name[48];
struct workqueue_struct *fw_log_wq;
struct delayed_work fw_log_work;
int open_pcie_trace;
int fw_log_init_flag;
atomic_t mmap_refcnt;
wait_queue_head_t mmap_waitq;
};
β¨ Members β¨
okay so each of these little icons does something, and honestly they all ate:
fw_log_bufferβ the actual buffer where the firmware log data chills. the whole reason this struct exists, lowkey iconic. π§fw_log_buffer_dmaβ the DMA address of the firmware log buffer. yes it gets its own field, as it should. π«Άfw_log_wq_name[48]β the name of the firmware log workqueue. it's achararray, so it's been given exactly48characters to work with, and it's making it work. πfw_log_wqβ the workqueue itself, the one doing the firmware log operations. main character energy fr fr. πfw_log_workβ the delayed work structure for the firmware log. delayed but never late, bestie. βopen_pcie_traceβ a flag that tells you if PCIe tracing is open. flag says yes or no, no in-between. π₯fw_log_init_flagβ a flag that tells you if the firmware log is initialized. the "did we even set this up yet" field, iykyk. πmmap_refcntβ the number of active user VMAs onfw_log_buffer. it's anatomic_t, so yes, it's counting carefully. πmmap_waitqβ the waitqueue forfw_log_bufferVMA teardown. it just waits, politely, until the teardown happens. π
π SEE ALSO π
the kernel file for this one lives at ./drivers/scsi/leapraid/leapraid_func.h, and then there's the whole extended friend group β honestly this struct knows everyone:
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_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_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, that's a full roster and every single one of them is linked above, mwah. π
ngl bestie, if you're poking at the firmware log buffer whilemmap_refcntis doing its thing, be cute about it β the waitqueuemmap_waitqis literally there for the teardown. π«Ά
so that's the page! π it's sourced from ./drivers/scsi/leapraid, dated October 2026, and the whole thing is filed under struct leapraid_fw_log_desc(9). slay, go read the kernel, and hydrate while you're at it πβ¨π¦
π¦ 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