_scsih_expander_node_remove(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ _scsih_expander_node_remove ✨

okay so this is a page from the kernel API manual, section 9 β€” buckle up bestie, it's a whole little lore drop πŸ’…


πŸŽ€ NAME πŸŽ€

_scsih_expander_node_remove β€” the one where we're removing an expander device from the list 🫢


🌸 SYNOPSIS 🌸

void _scsih_expander_node_remove (struct MPT3SAS_ADAPTER *ioc , struct
_sas_node *sas_expander );

like… that's the whole mood. void return, no notes, iconic πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • ioc β€” the per adapter object, literally the whole adapter's main character ✨
  • sas_expander β€” the sas_device object, aka the thing we're about to say bye to πŸ’œ

πŸ’– DESCRIPTION πŸ’–

So what's actually happening here? We're removing the object and freeing the associated memory from ioc->sas_expander_list β€” like, it's gone from the list and its memory is handed back. no leaks, no leftovers, we love a clean exit πŸ’…


🌈 SEE ALSO 🌈

Bestie the reading list is long β€” but every single one is here, no skips, no cap πŸ™ˆ It all lives in the kernel file ./drivers/scsi/mpt3sas/mpt3sas_scsih.c:

enum device_responsive_state(9), struct sense_info(9), struct fw_event_work(9), struct _scsi_io_transfer(9), _scsih_set_debug_level(9), _scsih_srch_boot_sas_address(9), _scsih_srch_boot_device_name(9), _scsih_srch_boot_encl_slot(9), mpt3sas_get_port_by_id(9), mpt3sas_get_vphy_by_phy(9), _scsih_is_boot_device(9), _scsih_get_sas_address(9), _scsih_determine_boot_device(9), mpt3sas_get_pdev_from_target(9), __mpt3sas_get_sdev_by_rphy(9), __mpt3sas_get_sdev_by_addr(9), mpt3sas_get_sdev_by_addr(9), mpt3sas_get_sdev_by_handle(9), _scsih_display_enclosure_chassis_info(9), _scsih_sas_device_remove(9), _scsih_device_remove_by_handle(9), mpt3sas_device_remove_by_sas_address(9), _scsih_sas_device_add(9), _scsih_sas_device_init_add(9), mpt3sas_get_pdev_by_wwid(9), mpt3sas_get_pdev_by_handle(9), _scsih_set_nvme_max_shutdown_latency(9), _scsih_pcie_device_remove(9), _scsih_pcie_device_remove_by_handle(9), _scsih_pcie_device_add(9), _scsih_raid_device_find_by_id(9), mpt3sas_raid_device_find_by_handle(9), _scsih_raid_device_find_by_wwid(9), _scsih_raid_device_add(9), _scsih_raid_device_remove(9), mpt3sas_scsih_expander_find_by_handle(9), mpt3sas_scsih_enclosure_find_by_handle(9), mpt3sas_scsih_expander_find_by_sas_address(9), _scsih_expander_node_add(9), _scsih_is_end_device(9), _scsih_is_nvme_pciescsi_device(9), _scsih_scsi_lookup_find_by_target(9), _scsih_scsi_lookup_find_by_lun(9), mpt3sas_scsih_scsi_lookup_get(9), scsih_change_queue_depth(9), mpt3sas_scsih_change_queue_depth(9), scsih_target_alloc(9), scsih_target_destroy(9), scsih_sdev_init(9),

scsih_sdev_destroy(9), _scsih_display_sata_capabilities(9), scsih_is_raid(9), scsih_get_resync(9), scsih_get_state(9), _scsih_set_level(9), _scsih_get_volume_capabilities(9), _scsih_enable_tlr(9), scsih_sdev_configure(9), scsih_bios_param(9), _scsih_response_code(9), _scsih_tm_done(9), mpt3sas_scsih_set_tm_flag(9), mpt3sas_scsih_clear_tm_flag(9), scsih_tm_cmd_map_status(9), scsih_tm_post_processing(9), mpt3sas_scsih_issue_tm(9), _scsih_tm_display_info(9), scsih_abort(9), scsih_dev_reset(9), scsih_target_reset(9), scsih_host_reset(9), _scsih_fw_event_add(9), _scsih_fw_event_del_from_list(9), _scsih_fw_event_requeue(9), _scsih_error_recovery_delete_devices(9), mpt3sas_port_enable_complete(9), _scsih_fw_event_cleanup_queue(9), _scsih_internal_device_block(9), _scsih_internal_device_unblock(9), _scsih_ublock_io_all_device(9), _scsih_ublock_io_device_wait(9), _scsih_ublock_io_device(9), _scsih_block_io_all_device(9), _scsih_block_io_device(9), _scsih_block_io_to_children_attached_to_ex(9), _scsih_block_io_to_children_attached_directly(9), _scsih_block_io_to_pcie_children_attached_directly(9), _scsih_tm_tr_send(9), _scsih_tm_tr_complete(9), _scsih_sas_control_complete(9), _scsih_tm_tr_volume_send(9), _scsih_tm_volume_tr_complete(9), _scsih_issue_delayed_event_ack(9), _scsih_issue_delayed_sas_io_unit_ctrl(9), mpt3sas_check_for_pending_internal_cmds(9), _scsih_check_for_pending_tm(9), _scsih_check_topo_delete_events(9), _scsih_check_pcie_topo_remove_events(9), _scsih_set_volume_delete_flag(9), _scsih_set_volume_handle_for_tr(9), _scsih_check_ir_config_unhide_events(9), _scsih_check_volume_delete_events(9), _scsih_temp_threshold_events(9), _scsih_flush_running_cmds(9), _scsih_setup_eedp(9), _scsih_eedp_error_handling(9), scsih_qcmd(9),

_scsih_normalize_sense(9), _scsih_scsi_ioc_info(9), _scsih_turn_on_pfa_led(9), _scsih_turn_off_pfa_led(9), _scsih_send_event_to_turn_on_pfa_led(9), _scsih_smart_predicted_fault(9), _scsih_io_done(9), _scsih_update_vphys_after_reset(9), _scsih_get_port_table_after_reset(9), _scsih_look_and_get_matched_port_entry(9), _scsih_del_phy_part_of_anther_port(9), _scsih_add_or_del_phys_from_existing_port(9), _scsih_del_dirty_vphy(9), _scsih_del_dirty_port_entries(9), _scsih_sas_port_refresh(9), _scsih_alloc_vphy(9), _scsih_sas_host_refresh(9), _scsih_sas_host_add(9), _scsih_expander_add(9), mpt3sas_expander_remove(9), _scsih_done(9), _scsi_send_scsi_io(9), _scsih_determine_disposition(9), _scsih_report_luns(9), _scsih_start_unit(9), _scsih_test_unit_ready(9), _scsih_ata_pass_thru_idd(9), _scsih_wait_for_device_to_become_ready(9), _scsih_wait_for_target_to_become_ready(9), _scsih_check_access_status(9), _scsih_check_device(9), _scsih_add_device(9), _scsih_remove_device(9), _scsih_sas_topology_change_event_debug(9), _scsih_sas_topology_change_event(9), _scsih_sas_device_status_change_event_debug(9), _scsih_sas_device_status_change_event(9), _scsih_check_pcie_access_status(9), _scsih_pcie_device_remove_from_sml(9), _scsih_pcie_check_device(9), _scsih_pcie_add_device(9), _scsih_pcie_topology_change_event_debug(9), _scsih_pcie_topology_change_event(9), _scsih_pcie_device_status_change_event_debug(9), _scsih_pcie_device_status_change_event(9), _scsih_sas_enclosure_dev_status_change_event_debug(9), _scsih_sas_enclosure_dev_status_change_event(9), _scsih_sas_broadcast_primitive_event(9), _scsih_sas_discovery_event(9), _scsih_sas_device_discovery_error_event(9), _scsih_pcie_enumeration_event(9), _scsih_ir_fastpath(9), _scsih_reprobe_lun(9),

_scsih_sas_volume_add(9), _scsih_sas_volume_delete(9), _scsih_sas_pd_expose(9), _scsih_sas_pd_hide(9), _scsih_sas_pd_delete(9), _scsih_sas_pd_add(9), _scsih_sas_ir_config_change_event_debug(9), _scsih_sas_ir_config_change_event(9), _scsih_sas_ir_volume_event(9), _scsih_sas_ir_physical_disk_event(9), _scsih_sas_ir_operation_status_event_debug(9), _scsih_sas_ir_operation_status_event(9), _scsih_prep_device_scan(9), _scsih_update_device_qdepth(9), _scsih_mark_responding_sas_device(9), _scsih_create_enclosure_list_after_reset(9), _scsih_search_responding_sas_devices(9), _scsih_mark_responding_pcie_device(9), _scsih_search_responding_pcie_devices(9), _scsih_mark_responding_raid_device(9), _scsih_search_responding_raid_devices(9), _scsih_mark_responding_expander(9), _scsih_search_responding_expanders(9), _scsih_remove_unresponding_devices(9), _scsih_scan_for_devices_after_reset(9), mpt3sas_scsih_pre_reset_handler(9), mpt3sas_scsih_clear_outstanding_scsi_tm_commands(9), mpt3sas_scsih_reset_done_handler(9), _mpt3sas_fw_work(9), _firmware_event_work(9), mpt3sas_scsih_event_callback(9), _scsih_nvme_shutdown(9), _scsih_ir_shutdown(9), _scsih_get_shost_and_ioc(9), scsih_remove(9), scsih_shutdown(9), _scsih_probe_boot_devices(9), _scsih_probe_raid(9), _scsih_probe_sas(9), get_next_pcie_device(9), pcie_device_make_active(9), _scsih_probe_pcie(9), _scsih_probe_devices(9), scsih_scan_start(9), _scsih_complete_devices_scanning(9), scsih_scan_finished(9), scsih_map_queues(9), _scsih_determine_hba_mpi_version(9), _scsih_probe(9), scsih_suspend(9), scsih_resume(9), scsih_pci_error_detected(9), scsih_pci_slot_reset(9), scsih_pci_resume(9), scsih_pci_mmio_enabled(9), scsih_init(9), scsih_exit(9), _mpt3sas_init(9), _mpt3sas_exit(9)


lowkey a flex that one function has this many friends tbh πŸ’€ go read them, iykyk

and that's the whole page!! this little gem lives under ./drivers/scsi/mpt3sas and it's stamped October 2026 β€” mwah, bye bestie, go free that expander's memory responsibly πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from