mpi3mr_update_mr_sas_port(9)
π mpi3mr_update_mr_sas_port(9) β a Kernel API Manual moment
Okay bestie, so this is a page from the Kernel API Manual, and the function is mpi3mr_update_mr_sas_port β say that five times fast, I dare you π
πΈ NAME πΈ
mpi3mr_update_mr_sas_port β literally just here to update sas port objects during reset, no biggie β¨
π¦ SYNOPSIS π¦
void mpi3mr_update_mr_sas_port (struct mpi3mr_ioc *mrioc , struct
host_port *h_port , struct mpi3mr_sas_port *mr_sas_port );
No return value, no drama. It's giving "I do my job and I leave" energy π
π ARGUMENTS π
mriocβ Adapter instance reference π (the whole adapter's lil handle, okay?)h_portβ host_port object πΈ (that's literally what it is, bestie)mr_sas_portβ sas_port objects which needs to be updated β (the ones getting the glow-up)
β¨ DESCRIPTION β¨
So what does it actually do? Two things, and I'm obsessed:
It updates the port ID of the sas port object π₯ β like a little name tag refresh, slay.
And it fixes up the phys list: it adds the phys if new phys got added to the current sas port, and removes the phys if some phys are moved out of the current sas port π . In-and-out, like a group chat with very strict membership rules. Phys join, phys leave, the sas port keeps it cute and accurate π«Ά
π RETURN π
Nothing. Zero. Nada. void era π β it does the work and doesn't even want a return value. Main character energy fr fr.
π SEE ALSO π
Buckle up, bestie, because this list is long and honestly iconic. Kernel file ./drivers/scsi/mpi3mr/mpi3mr_transport.c is the home base π and then we've got the whole extended friend group:
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_refresh_sas_ports(9)mpi3mr_refresh_expanders(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)
Like, that's the entire mpi3mr transport squad ππ«Ά iykyk.
Heads up bestie: everything above is exactly what the page says β I'm not adding extra lore, no cap. If it's not on the page, it's not in the group chat π
And that's the whole vibe check! This cutie lives in ./drivers/scsi/mpi3mr and the page is dated October 2026 β β go forth and update those sas ports, queen ππ
π¦ 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