_scsih_sas_host_add(9)
π NAME π
okay so bestie, welcome to the _scsih_sas_host_add(9) page β it lives in the Kernel API Manual and its whole entire job is: create sas host object. that's it. that's the vibe. β¨
πΈ SYNOPSIS πΈ
void _scsih_sas_host_add (struct MPT3SAS_ADAPTER *ioc );
like, that's the whole signature. so clean. so minimalist. ate. π
π ARGUMENTS π
iocβ the per adapter object. that's the one thing you hand it, and it's the whole adapter, no cap. π«Ά
π¦ DESCRIPTION π¦
so what does it do? it creates a host side data object, and that little cutie gets stored in ioc->sas_hba. that's the tea. π΅
literally it's the "make the host object and tuck it into ioc->sas_hba" function. main character energy for real. π
π SEE ALSO π
bestie there are SO many references here, buckle up, i'm listing every single one because i am nothing if not thorough. π
the source file + types β¨
- the kernel file
./drivers/scsi/mpt3sas/mpt3sas_scsih.citself ποΈ - the enum
device_responsive_state(9) - the structs:
struct sense_info(9),struct fw_event_work(9),struct _scsi_io_transfer(9)
boot device + sas address crew π
_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)
getting your sdev hande π
__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)
pdev + raid device besties π
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)
expanders, enclosures, lookups π
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)
target + sdev lifecycle π§
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)
task management moment β
_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)
firmware events π«Ά
_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)
blocking io, the children edition π
_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)
pending stuff + topology checks π
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)
io path + leds π₯
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)
ports + phys after reset π¦
_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_expander_add(9),mpt3sas_expander_remove(9)
device probing + sending scsi io πΈ
_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)
topology change events, sas + pcie π
_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)
enclosure events + discovery + ir π§
_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)
volumes + physical disks β¨
_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)
scanning + marking responders π
_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)
reset recovery π
_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),_scsih_nvme_shutdown(9),_scsih_ir_shutdown(9)
probe + remove + shutdown π
_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)
scan lifecycle + queues β
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)
pci error handling + module init/exit π«Ά
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)
β¨ that's the whole list, every last reference, i did not skip a single one because i would never do that to you bestie π
okay and finally, the cute little sign-off: this page comes from ./drivers/scsi/mpt3sas, dated October 2026, and it's filed under _scsih_sas_host_add(9) β go forth and create that sas host object, you've got this ππ
π¦
π¦ 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