mpi3mr_expander_remove(9)
π mpi3mr_expander_remove(9) β from the Kernel API Manual, bestie β¨
Okay so like, this one's a little function but she's important, and ngl the name is a whole mouthful. It's mpi3mr_expander_remove, and she does exactly what it says on the tin β she removes an expander object. Iconic, honestly.
πΈ NAME πΈ
mpi3mr_expander_remove β removes an expander object, bestie. That's it, that's the whole vibe. π
β¨ SYNOPSIS β¨
void mpi3mr_expander_remove (struct mpi3mr_ioc *mrioc , u64 sas_address
, struct mpi3mr_hba_port *hba_port );
Like, she takes three things and returns nothing. Lowkey void, highkey slay. π
π¦ ARGUMENTS π¦
mriocβ your adapter instance reference, aka the main character of literally every one of these functions. π«Άsas_addressβ the sas_address of the expander you want gone. Removing the expander's sas_address, specifically. Bye bestie! πhba_portβ the HBA port reference. She's just here for moral support, and also because the call needs her. π
π DESCRIPTION π
So here's the tea, fr fr: this function removes the expander object, which is stored in mrioc->sas_expander_list. She's not just deleting her from a list and ghosting her, though β she also removes it from the SAS TL by calling mpi3mr_expander_node_remove. Not me being thorough about it π€β¨
So yeah: pulls her out of mrioc->sas_expander_list, then hits up mpi3mr_expander_node_remove to yank her out of the SAS TL too. Clean exit, no drama. π§
π RETURN π
None β literally nothing. She gives you nothing back and that's valid. π
π SEE ALSO π
Okay bestie, buckle in, because the SEE ALSO section on this one is giving entire friend group. Like, this is a whole group chat and every single one of them is in it:
Kernel file ./drivers/scsi/mpi3mr/mpi3mr_transport.cmpi3mr_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_refresh_expanders(9)mpi3mr_expander_node_add(9)mpi3mr_expander_add(9)mpi3mr_expander_node_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)
I told you. Whole. Group. Chat. π«Άπ₯
Anyway bestie, that's the whole page β brought to you by ./drivers/scsi/mpi3mr, dated October 2026, and yeah she's still rocking the mpi3mr_expander_remove(9) name at the bottom like the queen she is. πβ¨ Go forth and remove some expanders responsibly. π
π¦ 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