lpfc_oas_tgt_store(9)
π lpfc_oas_tgt_store(9) β the Kernel API Manual moment β¨
okay so bestie, we're in the Kernel API Manual and today's main character is lpfc_oas_tgt_store(9). yes it's a mouthful, yes it's iconic, no we are not skipping any of it π
β¨ NAME β¨
lpfc_oas_tgt_store β stores the wwpn</> of a target whose luns maybe enabled for Optimized Access Storage (OAS) operations. that's the whole vibe. storing a target's wwpn so its luns can maybe get OAS-enabled π«
πΈ SYNOPSIS πΈ
ssize_t lpfc_oas_tgt_store (struct device *dev , struct device_attribute
*attr , const char *buf , size_t count );
like, look at her. four args. flawless. no cap π«Ά
π¦ ARGUMENTS π¦
devβ the class device, which gets converted into a Scsi_host. glow-up via conversion, honestly.attrβ the device attribute. and... yeah, it's not used. she's just there for the vibes πbufβ the buffer where the info gets passed in. that's the payload, bestie πcountβ size of that data buffer. gotta know how much we're working with, periodt.
π RETURN π
-EINVALβ whencountis invalid, or when the wwpn byte is invalid. two separate red flags, same energy π-EPERMβ OAS is not supported by hba. she said no and meant it.- value of
countβ on success. slay π
β SEE ALSO β
the kernel file is ./drivers/scsi/lpfc/lpfc_attr.c, and here's the whole friend group β literally the entire roster, every single one, no one left out π:
lpfc_jedec_to_ascii(9),lpfc_drvr_version_show(9),lpfc_enable_fip_show(9),lpfc_info_show(9)lpfc_serialnum_show(9),lpfc_temp_sensor_show(9),lpfc_modeldesc_show(9),lpfc_modelname_show(9)lpfc_programtype_show(9),lpfc_vportnum_show(9),lpfc_fwrev_show(9),lpfc_hdw_show(9)lpfc_option_rom_version_show(9),lpfc_link_state_show(9),lpfc_sli4_protocol_show(9)lpfc_oas_supported_show(9),lpfc_link_state_store(9),lpfc_num_discovered_ports_show(9)lpfc_issue_lip(9),lpfc_do_offline(9),lpfc_reset_pci_bus(9),lpfc_selective_reset(9)lpfc_issue_reset(9),lpfc_sli4_pdev_status_reg_wait(9),lpfc_sli4_pdev_reg_request(9)lpfc_nport_evt_cnt_show(9),lpfc_board_mode_show(9),lpfc_board_mode_store(9),lpfc_get_hba_info(9)lpfc_max_rpi_show(9),lpfc_used_rpi_show(9),lpfc_max_xri_show(9),lpfc_used_xri_show(9)lpfc_max_vpi_show(9),lpfc_used_vpi_show(9),lpfc_npiv_info_show(9),lpfc_poll_show(9)lpfc_poll_store(9),lpfc_sriov_hw_max_virtfn_show(9),lpfc_enable_bbcr_set(9),lpfc_wwn_set(9)lpfc_oas_tgt_show(9),lpfc_oas_priority_show(9),lpfc_oas_priority_store(9),lpfc_oas_vpt_show(9)lpfc_oas_vpt_store(9),lpfc_oas_lun_state_show(9),lpfc_oas_lun_state_store(9)lpfc_oas_lun_status_show(9),lpfc_oas_lun_state_set(9),lpfc_oas_lun_get_next(9)lpfc_oas_lun_state_change(9),lpfc_oas_lun_show(9),lpfc_oas_lun_store(9)lpfc_nodev_tmo_show(9),lpfc_nodev_tmo_init(9),lpfc_update_rport_devloss_tmo(9)lpfc_nodev_tmo_set(9),lpfc_devloss_tmo_set(9),lpfc_tgt_queue_depth_set(9)lpfc_restrict_login_init(9),lpfc_restrict_login_set(9),lpfc_topology_store(9)lpfc_static_vport_show(9),lpfc_link_speed_store(9),lpfc_link_speed_init(9)lpfc_aer_support_store(9),lpfc_aer_cleanup_state(9),lpfc_sriov_nr_virtfn_store(9)lpfc_request_firmware_upgrade_store(9),lpfc_request_firmware_upgrade_init(9)lpfc_force_rscn_store(9),lpfc_force_rscn_init(9),lpfc_fcp_imax_store(9),lpfc_fcp_imax_init(9)lpfc_cq_max_proc_limit_store(9),lpfc_cq_max_proc_limit_init(9),lpfc_fcp_cpu_map_show(9)lpfc_fcp_cpu_map_store(9),lpfc_fcp_cpu_map_init(9),lpfc_cpumask_irq_mode_init(9)lpfc_irq_chann_show(9),lpfc_sg_seg_cnt_show(9),lpfc_sg_seg_cnt_init(9)sysfs_ctlreg_write(9),sysfs_ctlreg_read(9),sysfs_mbox_write(9),sysfs_mbox_read(9)lpfc_alloc_sysfs_attr(9),lpfc_free_sysfs_attr(9),lpfc_get_host_symbolic_name(9)lpfc_get_host_port_id(9),lpfc_get_host_port_type(9),lpfc_get_host_port_state(9)lpfc_get_host_speed(9),lpfc_get_host_fabric_name(9),lpfc_get_stats(9),lpfc_reset_stats(9)lpfc_get_enc_info(9),lpfc_get_node_by_target(9),lpfc_get_starget_port_id(9)lpfc_get_starget_node_name(9),lpfc_get_starget_port_name(9),lpfc_set_rport_loss_tmo(9)lpfc_set_vport_symbolic_name(9),lpfc_hba_log_verbose_init(9),lpfc_get_hba_function_mode(9)lpfc_get_cfgparam(9),lpfc_nvme_mod_param_dep(9),lpfc_get_vport_cfgparam(9)
bestie heads up: ifcountis invalid or the wwpn byte is invalid you get-EINVAL, and if the hba doesn't support OAS you get-EPERM. no soft-launching here, she tells you straight π
okay that's the page, go be great, iykyk π§
π that's the whole thing, written in ./drivers/scsi/lpfc, dated October 2026 β like, future queen behaviour. mwah, love u, bye π
π¦ 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