_scsih_probe_devices(9)
β¨ _scsih_probe_devices β the "hi bestie, let's find some devices" page β¨
okay so you opened the _scsih_probe_devices(9) page from the Kernel API Manual and honestly? good choice. this is a short one but it's lowkey a main character moment in the mpt3sas universe π
πΈ SYNOPSIS πΈ
void _scsih_probe_devices (struct MPT3SAS_ADAPTER *ioc );
yeah that's it. that's the whole signature. no cap. π
π«Ά ARGUMENTS π«Ά
iocβ the per adapter object, bestie. one of these per adapter, and it's the thing that gets passed in. that's the whole vibe β¨
π DESCRIPTION π
so _scsih_probe_devices gets called during the initial loading of the driver. that's the tea. it's the "we're booting up, time to go look for devices" moment, and it happens at init time, periodt π¦
ngl there's not a ton of prose here β the manpage keeps it short and mysterious, which is honestly iconic of it. but the facts are the facts: initial driver load. that's when it runs. π
π SEE ALSO π
okay so THIS is where it gets real, because this page has a stacked guest list. like, everybody from the mpt3sas friend group showed up. the kernel file this all lives in is ./drivers/scsi/mpt3sas/mpt3sas_scsih.c, and here's the full squad π
π the types & the boot-crew π
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)
π¦ getters, adders, removers (the finder era) π¦
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)
π scsi lookups & queue depths π
_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)
π₯ task management & resets (drama) π₯
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)
π§ block / unblock the whole friend group π§
_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)
π event checking hours π
_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)
πΈ ports, phys & expanders πΈ
_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)
π device add/remove & topology events π
_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)
π raid / volume / pd stuff π
_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)
π¦ searching for who's still responding π¦
_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_expander_node_remove(9)
π shutdown, probe & the whole lifecycle π
_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_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)
ok that's literally the entire friend group, iykyk π«Ά every single one of them is listed above, exactly as they appear, no cap.
that's the page, bestie β short synopsis, one argument, one description, and then a whole extended universe in SEE ALSO ππ
sign-off time: this baby lives in ./drivers/scsi/mpt3sas π and the version/date stamp on it is October 2026 β so likeβ¦ it's from the future apparently? iconic. go forth and probe those devices πβ¨π
π¦ 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