lpfc_find_next_oas_lun(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lpfc_find_next_oas_lun ✨

okay so bestie, this is the manual page for lpfc_find_next_oas_lun from the Kernel API Manual, and it's literally about hunting down the next oas lun in that luns list, no cap πŸŽ€


✨ NAME ✨

lpfc_find_next_oas_lun β€” searches for the next oas lun πŸ¦‹


🌸 SYNOPSIS 🌸

bool lpfc_find_next_oas_lun (struct lpfc_hba *phba , struct lpfc_name
*vport_wwpn , struct lpfc_name *target_wwpn , uint64_t *starting_lun ,
struct lpfc_name *found_vport_wwpn , struct lpfc_name *found_target_wwpn
, uint64_t *found_lun , uint32_t *found_lun_status , uint32_t
*found_lun_pri );

like, that's the whole squad of params in one iconic signature, periodt πŸ’–


πŸŽ€ ARGUMENTS πŸŽ€

  • phba β€” pointer to the host bus adapter structure, the main character energy we're working with πŸ”₯
  • vport_wwpn β€” pointer to the vport's wwpn info 🧚
  • target_wwpn β€” pointer to the target's wwpn info 🌈
  • starting_lun β€” pointer to the lun where the searching begins, like the starting line at a race πŸ’«
  • found_vport_wwpn β€” pointer to the found lun's vport wwpn info, match found bestie 🫢
  • found_target_wwpn β€” pointer to the found lun's target wwpn info, also matching πŸ‘‘
  • found_lun β€” pointer to the found lun, the actual prize πŸ†
  • found_lun_status β€” pointer to the status of the found lun, its vibe check βœ…
  • found_lun_pri β€” pointer to the priority of the found lun, its importance level fr fr ⭐

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so what this routine actually does: it searches the luns list for the specified lun or the first lun for the vport/target. simple as that, iykyk πŸ’…

here's the tea β˜• thoughβ€”if the vport wwpn contains a zero value, that means a specific vport is not specified. in that case, any vport which contains the lun will be considered a match. slay, flexible queen πŸ’–

same energy for the target: if the target wwpn contains a zero value, then a specific target is not specified. and in that case, any target which contains the lun will be considered a match. iconic wildcard behaviour ngl 🌸

when the lun is actually found, you get back the lun, the vport wwpn, the target wwpn, and the lun status. obsessed with a clean return situation πŸŽ€

the function will also return the next lun if it's available. but if the next lun is not found, the starting_lun parameter will be set to NO_MORE_OAS_LUNβ€”that's the sentinel, the "we're done here" signal, periodt πŸ’€

Return codes: non-0 - Error, 0 - Success. that's it, that's the whole mood πŸ”₯


πŸ’œ SEE ALSO πŸ’œ

Kernel file ./drivers/scsi/lpfc/lpfc_scsi.c

and now the full friend group roll call, all the other manual pages vibing in the same directory 🌈:

lpfc_sli4_set_rsp_sgl_last(9), lpfc_rampdown_queue_depth(9),
lpfc_ramp_down_queue_handler(9), lpfc_scsi_dev_block(9),
lpfc_new_scsi_buf_s3(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_enable_oas_lun(9), lpfc_disable_oas_lun(9)
ngl that's a whole lot of lpfc besties, but every single one of them is cited exactly as written, no skipping, no summarising, we keep the whole list fr fr 🫢

and that's the page bestie!! πŸŽ€ this gem lives in ./drivers/scsi/lpfc and the version/date stamp is October 2026 on the lpfc_find_next_oas_lun(9) page β€” go forth and find those oas luns, you absolute icon πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from