lpfc_oas_lun_status_show(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lpfc_oas_lun_status_show β€” the manual page, but make it make sense

okay so real talk, this one's from the Kernel API Manual β€” that's the manual name, bestie, we're in kernel-doc territory now 🫢 β€” and it's a sysfs show callback. Yes, another one. Yes, we're still gonna read it properly.


✨ NAME ✨

lpfc_oas_lun_status_show β€” returns the status of the Optimized Access Storage (OAS) lun... and like, specifically the one that got returned by the lpfc_oas_lun_show function. That's it. That's the whole gig. It's giving "little helper that exists purely to answer one question" energy and honestly? iconic πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

ssize_t lpfc_oas_lun_status_show (struct device *dev , struct
device_attribute *attr , char *buf );

three args, one return type, no cap. ssize_t is the return, and the whole thing takes a struct device *, a struct device_attribute *, and a char *. Slay ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” this is the class device, and plot twist: it gets converted into a Scsi_host. so dev walks in as a device and leaves as something else entirely. main character transformation arc, honestly πŸ¦‹
  • attr β€” the device attribute. and no, we don't use it. it's literally just here for the vibes. not me showing up to the function call and contributing nothing πŸ˜­πŸ™ˆ
  • buf β€” the buffer where the info gets passed along. this is the one that actually does the work, the actual carrier of the message πŸ’Œ

πŸ‘‘ RETURN πŸ‘‘

it returns the size of the formatted string. that's the answer. that's the whole return value. no hidden lore, no secret second meaning β€” the size of the formatted string, periodt πŸ’…

lowkey obsessed with how many kernel functions are just "I return how many bytes I wrote" and everyone acts normal about it. it's fine. it's fine. ngl it's actually kind of elegant πŸ”₯

🌈 SEE ALSO 🌈

the kernel file we're living in is ./drivers/scsi/lpfc/lpfc_attr.c β€” that's home base, bestie 🏠✨

and now for the friend group. this is a big friend group. like a whole group chat with 100+ members and everybody's @-ing everybody. taking attendance fr fr:

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_tgt_store(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_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)

okay yes that was a lot but we got through it together 🫢 every single one accounted for, nobody left on read πŸ’–


🧚 signing off 🧚

source is ./drivers/scsi/lpfc, dated October 2026, and the page itself is lpfc_oas_lun_status_show(9). that's the footer, that's the wrap, and honestly? we ate. go read lpfc_oas_lun_show(9) next, it's literally right there in the list πŸ’œβœ¨πŸŒΈ

πŸ“¦ where this page comes from