diag_cmd_data_alloc(9)
π NAME
Okay bestie, youβve landed on diag_cmd_data_alloc(9) from the Kernel API Manual β and its whole thing is that it fills in a bde struct with dma buffers. Iconic, honestly. β¨
π¦ SYNOPSIS
struct lpfc_dmabufext * diag_cmd_data_alloc (struct lpfc_hba *phba ,
struct ulp_bde64 *bpl , uint32_t size , int nocopydata );
π ARGUMENTS
phbaβ Pointer to HBA context object.bplβ Pointer to 64 bit bde structure.sizeβ Number of bytes to process.nocopydataβ The flag to copy user data into the allocated buffer.
πΈ DESCRIPTION
This function is doing the absolute most: it allocates page size buffers and populates an lpfc_dmabufext. π«Ά
If allowed, the user data pointed to with indataptr is copied into the kernel memory. Then the chained list of page size buffers is returned. No cap, thatβs the whole flow. π
π SEE ALSO
- Kernel file:
./drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_send_mgmt_cmd_cmp(9),lpfc_bsg_send_mgmt_cmd(9)lpfc_bsg_rport_els_cmp(9),lpfc_bsg_rport_els(9)lpfc_bsg_event_free(9),lpfc_bsg_event_ref(9),lpfc_bsg_event_unref(9)lpfc_bsg_event_new(9),diag_cmd_data_free(9)lpfc_bsg_ct_unsol_abort(9),lpfc_bsg_hba_set_event(9)lpfc_bsg_hba_get_event(9),lpfc_issue_ct_rsp_cmp(9)lpfc_issue_ct_rsp(9),lpfc_bsg_send_mgmt_rsp(9)lpfc_bsg_diag_mode_enter(9),lpfc_bsg_diag_mode_exit(9)lpfc_sli3_bsg_diag_loopback_mode(9)lpfc_sli4_bsg_set_link_diag_state(9)lpfc_sli4_bsg_set_loopback_mode(9),lpfc_sli4_diag_fcport_reg_setup(9)lpfc_sli4_bsg_diag_loopback_mode(9),lpfc_bsg_diag_loopback_mode(9)lpfc_sli4_bsg_diag_mode_end(9),lpfc_sli4_bsg_link_diag_test(9)lpfcdiag_loop_self_reg(9),lpfcdiag_loop_self_unreg(9)lpfcdiag_loop_get_xri(9),lpfc_bsg_dma_page_alloc(9)lpfc_bsg_dma_page_free(9),lpfc_bsg_dma_page_list_free(9)lpfcdiag_sli3_loop_post_rxbufs(9),lpfc_bsg_diag_loopback_run(9)lpfc_bsg_get_dfc_rev(9),lpfc_bsg_issue_mbox_cmpl(9)lpfc_bsg_check_cmd_access(9),lpfc_bsg_mbox_ext_session_reset(9)lpfc_rd_obj_emb0_handle_job(9),lpfc_bsg_issue_mbox_ext_handle_job(9)lpfc_bsg_issue_read_mbox_ext_cmpl(9)lpfc_bsg_issue_write_mbox_ext_cmpl(9),lpfc_bsg_sli_cfg_read_cmd_ext(9)lpfc_bsg_sli_cfg_write_cmd_ext(9),lpfc_bsg_handle_sli_cfg_mbox(9)lpfc_bsg_mbox_ext_abort(9),lpfc_bsg_read_ebuf_get(9)lpfc_bsg_write_ebuf_set(9),lpfc_bsg_handle_sli_cfg_ebuf(9)lpfc_bsg_handle_sli_cfg_ext(9),lpfc_bsg_issue_mbox(9)lpfc_bsg_mbox_cmd(9),lpfc_check_fwlog_support(9)lpfc_bsg_get_ras_config(9),lpfc_bsg_set_ras_config(9)lpfc_bsg_get_ras_lwpd(9),lpfc_bsg_get_ras_fwlog(9)lpfc_bsg_hst_vendor(9),lpfc_bsg_request(9),lpfc_bsg_timeout(9)
Okay bye bestie β this page lives in ./drivers/scsi/lpfc, itβs dated October 2026, and itβs filed under diag_cmd_data_alloc(9). 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