mpi3mr_issue_iocfacts(9)
π
mpi3mr_issue_iocfacts β the mpi3mr_issue_iocfacts(9) glow-up β¨
okay so real talk, this is a kernel API manual page (section 9, kernel dev vibes only, not for your regular terminal usage π«Ά) and it's literally just one function doing one iconic little job. let's get into it π
πΈ NAME πΈ
mpi3mr_issue_iocfacts β bestie, it Sends IOC Facts. that's the whole thing. that's the assignment π
β¨ SYNOPSIS β¨
int mpi3mr_issue_iocfacts (struct mpi3mr_ioc *mrioc , struct
mpi3_ioc_facts_data *facts_data );
two args, one int coming back at you. no cap, that's it π
π ARGUMENTS π
mriocβ the Adapter instance reference. it's your lil handle to the adapter you're talking to, main character energy π¦facts_dataβ the Cached IOC facts data. the facts, already cached, ready to go. iykyk π¦
π§ DESCRIPTION π§
so what does it do? it issues the IOC Facts MPI request through the admin queue, and then it waits for that request to complete β or for it to time out. that's the vibe check: send it, then sit there patiently like a good little driver until something comes back or the clock runs out β³π
lowkey important: there is a timeout. if the completion never shows up, you're not waiting forever, bestie β that's the whole point of the timeout π
π₯ RETURN π₯
0on success π slay- non-zero on failures π (that's your sign something went sideways)
π SEE ALSO π
the friend group is LARGE and honestly kind of iconic. kernel file ./drivers/scsi/mpi3mr/mpi3mr_fw.c is where all these live, and here's every single one, no skipping, we don't do that here π:
mpi3mr_get_reply_desc(9)mpi3mr_process_op_reply_q(9)mpi3mr_blk_mq_poll(9)mpi3mr_isr_poll(9)mpi3mr_request_irq(9)mpi3mr_setup_isr(9)mpi3mr_reset_rc_name(9)mpi3mr_reset_type_name(9)mpi3mr_is_fault_recoverable(9)mpi3mr_print_fault_info(9)mpi3mr_save_fault_info(9)mpi3mr_get_iocstate(9)mpi3mr_free_ioctl_dma_memory(9)mpi3mr_alloc_ioctl_dma_memory(9)mpi3mr_fault_uevent_emit(9)mpi3mr_clear_reset_history(9)mpi3mr_issue_and_process_mur(9)mpi3mr_revalidate_factsdata(9)mpi3mr_bring_ioc_ready(9)mpi3mr_soft_reset_success(9)mpi3mr_diagfault_success(9)mpi3mr_set_diagsave(9)mpi3mr_issue_reset(9)mpi3mr_admin_request_post(9)mpi3mr_free_op_req_q_segments(9)mpi3mr_free_op_reply_q_segments(9)mpi3mr_delete_op_reply_q(9)mpi3mr_alloc_op_reply_q_segments(9)mpi3mr_alloc_op_req_q_segments(9)mpi3mr_create_op_reply_q(9)mpi3mr_create_op_req_q(9)mpi3mr_create_op_queues(9)mpi3mr_op_request_post(9)mpi3mr_check_rh_fault_ioc(9)mpi3mr_sync_timestamp(9)mpi3mr_print_pkg_ver(9)mpi3mr_watchdog_work(9)mpi3mr_start_watchdog(9)mpi3mr_stop_watchdog(9)mpi3mr_setup_admin_qpair(9)mpi3mr_check_reset_dma_mask(9)mpi3mr_process_factsdata(9)mpi3mr_alloc_reply_sense_bufs(9)mpimr_initialize_reply_sbuf_queues(9)mpi3mr_issue_iocinit(9)mpi3mr_unmask_events(9)mpi3mr_issue_event_notification(9)mpi3mr_process_event_ack(9)mpi3mr_alloc_chain_bufs(9)mpi3mr_port_enable_complete(9)mpi3mr_issue_port_enable(9)mpi3mr_repost_diag_bufs(9)mpi3mr_read_tsu_interval(9)mpi3mr_print_ioc_info(9)mpi3mr_cleanup_resources(9)mpi3mr_setup_resources(9)mpi3mr_enable_events(9)mpi3mr_init_ioc(9)mpi3mr_reinit_ioc(9)mpi3mr_memset_op_reply_q_buffers(9)mpi3mr_memset_op_req_q_buffers(9)mpi3mr_memset_buffers(9)mpi3mr_free_mem(9)mpi3mr_issue_ioc_shutdown(9)mpi3mr_cleanup_ioc(9)mpi3mr_drv_cmd_comp_reset(9)mpi3mr_flush_drv_cmds(9)mpi3mr_pel_wait_post(9)mpi3mr_pel_get_seqnum_post(9)mpi3mr_pel_wait_complete(9)mpi3mr_pel_get_seqnum_complete(9)mpi3mr_check_op_admin_proc(9)mpi3mr_soft_reset_handler(9)mpi3mr_post_cfg_req(9)mpi3mr_process_cfg_req(9)mpi3mr_cfg_get_dev_pg0(9)mpi3mr_cfg_get_sas_phy_pg0(9)mpi3mr_cfg_get_sas_phy_pg1(9)mpi3mr_cfg_get_sas_exp_pg0(9)mpi3mr_cfg_get_sas_exp_pg1(9)mpi3mr_cfg_get_enclosure_pg0(9)mpi3mr_cfg_get_sas_io_unit_pg0(9)mpi3mr_cfg_get_sas_io_unit_pg1(9)mpi3mr_cfg_set_sas_io_unit_pg1(9)mpi3mr_cfg_get_driver_pg1(9)mpi3mr_cfg_get_driver_pg2(9)
and that's the whole page, bestie π«Ά go read some source and hydrate π§
lil sign-off before you go: this whole thing lives in ./drivers/scsi/mpi3mr, it's dated October 2026, and it's page mpi3mr_issue_iocfacts(9) β i.e. a Kernel API Manual entry, so don't be surprised when it doesn't show up in your normal man energy. mwah ππ
π¦ 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