mpi3mr_sdev_init(9)
π mpi3mr_sdev_init(9) β bestie edition β¨
okay so you found yourself in the Kernel API Manual, section 9, and the page is literally called mpi3mr_sdev_init. hi. welcome. it's giving "one tiny function, one huge responsibility" and honestly? we love her for it π
πΈ NAME πΈ
mpi3mr_sdev_init β the Slave alloc callback handler, no cap π
π¦ SYNOPSIS π¦
int mpi3mr_sdev_init (struct scsi_device *sdev );
that's it. that's the whole signature. she takes one argument and she takes it seriously π
π ARGUMENTS π
sdevβ a SCSI device reference π«Ά like, the actual device she's about to set up shop for. hand her thesdev, she does the rest.
β¨ DESCRIPTION β¨
so basically what she does is: allocate per device(lun) private data and initialize it.
that's the whole vibe. one device, one lun, its own little private data pocket, freshly allocated and then initialized so it's ready to go. she's not doing cardio, she's not doing drama β she's doing setup π and she's doing it correctly.
the way that per-device private data needs a home and she's the one handing out the keys π iconic behavior fr fr.
π RETURN π
0β slay, success, we ate π β¨-ENOMEMβ memory allocation said "girl, no" π the allocation failed.
no in-between bestie. it's either a clean0or-ENOMEMand nothing else. periodt.
π₯ SEE ALSO π₯
first up, the source of truth β the Kernel file ./drivers/scsi/mpi3mr/mpi3mr_os.c π
and thenβ¦ okay. buckle up. this list is long long. like, main character energy with a whole extended universe of friends. every single one of them, in order, no skipping, because we do not leave the girlies out π«Ά
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_remove_tgtdev_from_host(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_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)
iykyk π that's the whole friend group. say hi to all of them.
π§ and that's the page bestie!! this one lives under./drivers/scsi/mpi3mr, dated October 2026, and yes the title at the top ismpi3mr_sdev_init(9)β same as the name, because consistency is cute π
go forth and allocate 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