lpfc_used_xri_show(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lpfc_used_xri_show πŸ’…

Hey bestie, welcome to the Kernel API Manual β€” this is the lpfc_used_xri_show(9) page, and it's lowkey giving β€œhow many XRIs are in use rn?” energy. Main character sysfs behavior, honestly.


✨ NAME ✨

lpfc_used_xri_show β€” return maximum xpi minus the available xpi. Yes, that's the phrase, and we're keeping it exactly, no autocorrect behavior πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

Okay so here's the signature, exactly as written β€” spaces, line break, all of it:

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

πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the class device that gets converted into a Scsi_host. It's the whole β€œwho are we even talking to” of this function.
  • attr β€” the device attribute, and ngl it's not used. It's just there, sitting pretty, doing nothing. Iconic behavior honestly.
  • buf β€” on return, this contains the used xri count in decimal or "Unknown". That's the whole vibe check: decimal number or the word "Unknown".

🌸 DESCRIPTION 🌸

So under the hood, this calls lpfc_get_hba_info and asks for just the mxri and axri counts. Simple, focused, no extra drama.

If lpfc_get_hba_info returns zero β€” that's the failure case, bestie β€” then the buffer text is set to "Unknown" and the buffer length is returned. The way that means the caller must check for "Unknown" in the buffer to detect a failure. Like, literally, you cannot skip that check. It's not a vibe, it's a requirement 😭


🌈 RETURN 🌈

The return value is the size of the formatted string. Periodt.


πŸ‘‘ SEE ALSO πŸ‘‘

Bestie, the SEE ALSO list is massive β€” it ate and left no crumbs. Here's the full reference guest list, exactly as it appears:

Kernel file ./drivers/scsi/lpfc/lpfc_attr.c 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_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_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)

πŸ’‹ cute little sign-off: this page's source/version path is ./drivers/scsi/lpfc, its date is October 2026, and the whole thing is the lpfc_used_xri_show(9) page. Bye bestie, go check that buffer for "Unknown" 🫢

πŸ“¦ where this page comes from