mpi3mr_refresh_expanders(9)
π mpi3mr_refresh_expanders(9) β the Kernel API Manual glow-up π¦
okay so bestie, this page lives in the Kernel API Manual, the manual name is mpi3mr_refresh_expanders(9), and it's about one function that does a lil post-reset housekeeping sweep for expander devices. ngl it's short, it's sweet, and it ate. let's go β¨
πΈ NAME πΈ
mpi3mr_refresh_expanders β literally the "refresh expander device exposure" function. that's it, that's the whole vibe check π
β SYNOPSIS β
void mpi3mr_refresh_expanders (struct mpi3mr_ioc *mrioc );
no cap, that's the whole signature. returns nothing (it's a void girlie), takes one arg. periodt π
π ARGUMENTS π
mriocβ your adapter instance reference π«Ά like, the actual controller object you're touching. hand it over and we're in business.
π₯ DESCRIPTION π₯
okay so here's the tea β β this one runs post controller reset. after the reset chaos settles, it goes looking for any missing expander devices during reset, and then it either:
- removes them from the upper layers (bye bestie π if you're gone, you're gone), or
- exposes any newly detected expander device to the upper layers (hiii new friend, welcome to the stack πβ¨)
so it's giving main character energy for the expander topology: it syncs what the upper layers think exists with what actually exists. iconic, honestly π
π RETURN π
Nothing. void. it gives you zero back, and it's not sorry about it ππ
π¦ SEE ALSO π¦
the whole friend group π β and yes, we're listing every single one, because everyone deserves their moment:
- the kernel file:
./drivers/scsi/mpi3mr/mpi3mr_transport.cπ mpi3mr_post_transport_req(9)mpi3mr_report_manufacture(9)__mpi3mr_expander_find_by_handle(9)mpi3mr_is_expander_device(9)mpi3mr_get_sas_address(9)__mpi3mr_get_tgtdev_by_addr(9)mpi3mr_get_tgtdev_by_addr(9)mpi3mr_remove_device_by_sas_address(9)__mpi3mr_get_tgtdev_by_addr_and_rphy(9)mpi3mr_expander_find_by_sas_address(9)__mpi3mr_sas_node_find_by_sas_address(9)mpi3mr_parent_present(9)mpi3mr_convert_phy_link_rate(9)mpi3mr_delete_sas_phy(9)mpi3mr_add_sas_phy(9)mpi3mr_add_phy_to_an_existing_port(9)mpi3mr_delete_sas_port(9)mpi3mr_del_phy_from_an_existing_port(9)mpi3mr_sas_port_sanity_check(9)mpi3mr_set_identify(9)mpi3mr_add_host_phy(9)mpi3mr_add_expander_phy(9)mpi3mr_alloc_hba_port(9)mpi3mr_get_hba_port_by_id(9)mpi3mr_update_links(9)mpi3mr_sas_host_refresh(9)mpi3mr_sas_host_add(9)mpi3mr_sas_port_add(9)mpi3mr_sas_port_remove(9)struct host_port(9)mpi3mr_update_mr_sas_port(9)mpi3mr_refresh_sas_ports(9)mpi3mr_expander_node_add(9)mpi3mr_expander_add(9)mpi3mr_expander_node_remove(9)mpi3mr_expander_remove(9)mpi3mr_get_sas_negotiated_logical_linkrate(9)mpi3mr_report_tgtdev_to_sas_transport(9)mpi3mr_remove_tgtdev_from_sas_transport(9)mpi3mr_get_port_id_by_sas_phy(9)mpi3mr_get_port_id_by_rphy(9)mpi3mr_get_expander_phy_error_log(9)mpi3mr_transport_get_linkerrors(9)mpi3mr_transport_get_enclosure_identifier(9)mpi3mr_transport_get_bay_identifier(9)mpi3mr_expander_phy_control(9)mpi3mr_transport_phy_reset(9)mpi3mr_transport_phy_enable(9)mpi3mr_transport_phy_speed(9)mpi3mr_map_smp_buffer(9)mpi3mr_unmap_smp_buffer(9)mpi3mr_transport_smp_handler(9)
ngl that's a long list but likeβ¦ they're all connected, iykyk π§ββοΈ
β¨ that's the whole page, bestie β¨ this lil gem ships out of ./drivers/scsi/mpi3mr and the date on it is October 2026 β so yeah, we're reading from the future and it's still giving πππ
π¦ 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