lpfc_new_scsi_buf_s3(9)
π lpfc_new_scsi_buf_s3(9) π
bestie, you're in the Kernel API Manual, and this page is all about lpfc_new_scsi_buf_s3(9). Yes, the manual name is folded right in here because we are not copying that whole header line, we are living it. π¦
β¨ NAME β¨
lpfc_new_scsi_buf_s3 β Scsi buffer allocator for HBA with SLI3 IF spec. That's the whole vibe: it's the SCSI buffer allocator for an HBA with SLI3 IF spec. π
π SYNOPSIS π
int lpfc_new_scsi_buf_s3 (struct lpfc_vport *vport , int num_to_alloc );
π ARGUMENTS π
vportβ the virtual port for which this call is being executed. It's giving "which vport are we doing this for?" energy. π«Άnum_to_allocβ the requested number of buffers to allocate. Like, how many do you want, bestie? β¨
π DESCRIPTION π
Okay so this routine allocates a scsi buffer for a device with SLI-3 interface spec. That scsi buffer contains all the necessary information needed to initiate a SCSI I/O. Periodt. π
The non-DMAable buffer region contains information to build the IOCB. The DMAable region contains memory for the FCP CMND, FCP RSP, and the initial BPL. In addition to allocating memory, the FCP CMND and FCP RSP BDEs are setup in the BPL, and the BPL BDE is setup in the IOCB. So it's not just buffer allocation β it's also doing the BDE setup. The way that this routine is handling both the memory and the IOCB wiring is lowkey iconic. π₯
Return codes: int β the number of scsi buffers that were allocated. 0 = failure, less than num_to_alloc is a partial failure. That's the return-code tea. β
π§ SEE ALSO π§
Kernel file: ./drivers/scsi/lpfc/lpfc_scsi.c β yes bestie, that's the source file mentioned. Go look at it if you want the lore. π
lpfc_sli4_set_rsp_sgl_last(9)lpfc_rampdown_queue_depth(9)lpfc_ramp_down_queue_handler(9)lpfc_scsi_dev_block(9)lpfc_sli4_vport_delete_fcp_xri_aborted(9)lpfc_sli4_io_xri_aborted(9)lpfc_get_scsi_buf_s3(9)lpfc_get_scsi_buf_s4(9)lpfc_get_scsi_buf(9)lpfc_release_scsi_buf_s3(9)lpfc_release_scsi_buf_s4(9)lpfc_release_scsi_buf(9)lpfc_fcpcmd_to_iocb(9)lpfc_scsi_prep_dma_buf_s3(9)lpfc_bg_err_inject(9)lpfc_sc_to_bg_opcodes(9)lpfc_bg_err_opcodes(9)lpfc_bg_setup_bpl(9)lpfc_bg_setup_bpl_prot(9)lpfc_bg_setup_sgl(9)lpfc_bg_setup_sgl_prot(9)lpfc_prot_group_type(9)lpfc_bg_scsi_adjust_dl(9)lpfc_bg_scsi_prep_dma_buf_s3(9)lpfc_scsi_prep_dma_buf_s4(9)lpfc_bg_scsi_prep_dma_buf_s4(9)lpfc_scsi_prep_dma_buf(9)lpfc_bg_scsi_prep_dma_buf(9)lpfc_scsi_prep_cmnd_buf(9)lpfc_send_scsi_error_event(9)lpfc_scsi_unprep_dma_buf(9)lpfc_unblock_requests(9)lpfc_block_requests(9)lpfc_update_cmf_cmpl(9)lpfc_update_cmf_cmd(9)lpfc_handle_fcp_err(9)lpfc_fcp_io_cmd_wqe_cmpl(9)lpfc_scsi_cmd_iocb_cmpl(9)lpfc_scsi_prep_cmnd_buf_s3(9)lpfc_scsi_prep_cmnd_buf_s4(9)lpfc_scsi_prep_cmnd(9)lpfc_scsi_prep_task_mgmt_cmd_s3(9)lpfc_scsi_prep_task_mgmt_cmd_s4(9)lpfc_scsi_api_table_setup(9)lpfc_tskmgmt_def_cmpl(9)lpfc_check_pci_resettable(9)lpfc_info(9)lpfc_poll_rearm_timer(9)lpfc_poll_start_timer(9)lpfc_poll_timeout(9)lpfc_queuecommand(9)lpfc_abort_handler(9)lpfc_check_fcp_rsp(9)lpfc_send_taskmgmt(9)lpfc_chk_tgt_mapped(9)lpfc_reset_flush_io_context(9)lpfc_device_reset_handler(9)lpfc_target_reset_handler(9)lpfc_host_reset_handler(9)lpfc_sdev_init(9)lpfc_sdev_configure(9)lpfc_sdev_destroy(9)lpfc_create_device_data(9)lpfc_delete_device_data(9)__lpfc_get_device_data(9)lpfc_find_next_oas_lun(9)lpfc_enable_oas_lun(9)lpfc_disable_oas_lun(9)
And that's the page, bestie. Source/version: ./drivers/scsi/lpfc; date: October 2026; and it's all for lpfc_new_scsi_buf_s3(9) in the Kernel API Manual. Slay, you made it to the end. π
π
π¦ 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