mpi3mr_remov...ev_from_host(9)
π mpi3mr_remove_tgtdev_from_host β NAME π
okay so this page is from the section 9 kernel API manual, and the star of the show is mpi3mr_remove_tgtdev_from_host β the function that removes a dev from the upper layers. that's it, that's the lore. bestie, it's the "you're not on the guest list anymore" of SCSI devices π
β¨ SYNOPSIS β¨
void mpi3mr_remove_tgtdev_from_host (struct mpi3mr_ioc *mrioc ,
struct mpi3mr_tgt_dev *tgtdev );
so it's a void function, no return value in the signature, no cap π«Ά
πΈ ARGUMENTS πΈ
mriocβ the adapter instance reference. like, which controller are we talking about, bestie. main character adapter energy β¨tgtdevβ the target device structure. the actual dev in question, the one whose fate we're deciding π
π¦ DESCRIPTION π¦
the way this works is genuinely so simple. it checks whether the device is exposed to the upper layers, and if it is (vibe check: passed) π then it removes the device from the upper layers by calling scsi_remove_target. that's the whole move. iconic, no notes, periodt π
π RETURN π
0 on success, non zero on failure. (yes even though the synopsis says void β the page says this, so we're saying this too, iykyk π« )
π SEE ALSO π
first up, the actual source file it lives in β the kernel file:
./drivers/scsi/mpi3mr/mpi3mr_os.c
and then the entire squad, and by entire squad I mean every single one, no skips, no edits, fr fr π₯
mpi3mr_host_tag_for_scmd(9)mpi3mr_scmd_from_host_tag(9)mpi3mr_clear_scmd_priv(9)mpi3mr_fwevt_free(9)mpi3mr_fwevt_get(9)mpi3mr_fwevt_put(9)mpi3mr_alloc_fwevt(9)mpi3mr_fwevt_add_to_list(9)mpi3mr_hdb_trigger_data_event(9)mpi3mr_fwevt_del_from_list(9)mpi3mr_dequeue_fwevt(9)mpi3mr_cancel_work(9)mpi3mr_cleanup_fwevt_list(9)mpi3mr_queue_qd_reduction_event(9)mpi3mr_invalidate_devhandles(9)mpi3mr_print_scmd(9)mpi3mr_flush_scmd(9)mpi3mr_count_dev_pending(9)mpi3mr_count_tgt_pending(9)mpi3mr_flush_host_io(9)mpi3mr_flush_cmds_for_unrecovered_controller(9)mpi3mr_alloc_tgtdev(9)mpi3mr_tgtdev_add_to_list(9)mpi3mr_tgtdev_del_from_list(9)__mpi3mr_get_tgtdev_by_handle(9)mpi3mr_get_tgtdev_by_handle(9)__mpi3mr_get_tgtdev_by_perst_id(9)mpi3mr_get_tgtdev_by_perst_id(9)__mpi3mr_get_tgtdev_from_tgtpriv(9)mpi3mr_set_io_divert_for_all_vd_in_tg(9)mpi3mr_print_device_event_notice(9)mpi3mr_report_tgtdev_to_host(9)mpi3mr_change_queue_depth(9)mpi3mr_update_sdev(9)mpi3mr_refresh_tgtdevs(9)mpi3mr_debug_dump_devpg0(9)mpi3mr_update_tgtdev(9)mpi3mr_devstatuschg_evt_bh(9)mpi3mr_devinfochg_evt_bh(9)mpi3mr_free_enclosure_list(9)mpi3mr_enclosure_find_by_handle(9)mpi3mr_process_trigger_data_event_bh(9)mpi3mr_encldev_add_chg_evt_debug(9)mpi3mr_encldev_add_chg_evt_bh(9)mpi3mr_sastopochg_evt_debug(9)mpi3mr_sastopochg_evt_bh(9)mpi3mr_pcietopochg_evt_debug(9)mpi3mr_pcietopochg_evt_bh(9)mpi3mr_logdata_evt_bh(9)mpi3mr_update_sdev_qd(9)mpi3mr_set_qd_for_all_vd_in_tg(9)mpi3mr_fwevt_bh(9)mpi3mr_fwevt_worker(9)mpi3mr_create_tgtdev(9)mpi3mr_flush_delayed_cmd_lists(9)mpi3mr_dev_rmhs_complete_iou(9)mpi3mr_dev_rmhs_complete_tm(9)mpi3mr_dev_rmhs_send_tm(9)mpi3mr_complete_evt_ack(9)mpi3mr_send_event_ack(9)mpi3mr_pcietopochg_evt_th(9)mpi3mr_sastopochg_evt_th(9)mpi3mr_devstatuschg_evt_th(9)mpi3mr_preparereset_evt_th(9)mpi3mr_energypackchg_evt_th(9)mpi3mr_cablemgmt_evt_th(9)mpi3mr_add_event_wait_for_device_refresh(9)mpi3mr_os_handle_events(9)mpi3mr_setup_eedp(9)mpi3mr_build_sense_buffer(9)mpi3mr_map_eedp_error(9)mpi3mr_process_op_reply_desc(9)mpi3mr_get_chain_idx(9)mpi3mr_prepare_sg_scmd(9)mpi3mr_build_sg_scmd(9)mpi3mr_tm_response_name(9)mpi3mr_issue_tm(9)mpi3mr_bios_param(9)mpi3mr_map_queues(9)mpi3mr_get_fw_pending_ios(9)mpi3mr_print_pending_host_io(9)mpi3mr_wait_for_host_io(9)mpi3mr_setup_divert_ws(9)mpi3mr_eh_host_reset(9)mpi3mr_eh_bus_reset(9)mpi3mr_eh_target_reset(9)mpi3mr_eh_dev_reset(9)mpi3mr_eh_abort(9)mpi3mr_scan_start(9)mpi3mr_scan_finished(9)mpi3mr_sdev_destroy(9)mpi3mr_target_destroy(9)mpi3mr_sdev_configure(9)mpi3mr_sdev_init(9)mpi3mr_target_alloc(9)mpi3mr_check_return_unmap(9)mpi3mr_allow_scmd_to_fw(9)mpi3mr_qcmd(9)mpi3mr_init_drv_cmd(9)osintfc_mrioc_security_status(9)mpi3mr_probe(9)mpi3mr_remove(9)mpi3mr_shutdown(9)mpi3mr_suspend(9)mpi3mr_resume(9)mpi3mr_pcierr_error_detected(9)mpi3mr_pcierr_slot_reset(9)mpi3mr_pcierr_resume(9)mpi3mr_pcierr_mmio_enabled(9)
ngl that's a lot of friends but they're all valid and they all showed up ππ«Ά
and that's the page!! it lives under ./drivers/scsi/mpi3mr and the whole thing is stamped October 2026 β so like, future-dated slay, we love a forward-thinking manpage βπ
bye bestie, go remove some targets 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