mpi3mr_check_return_unmap(9)
π mpi3mr_check_return_unmap(9) β the kernel API manual, bestie edition π
okay so you're in the Kernel API Manual and you clicked on mpi3mr_check_return_unmap(9) β welcome, you're gonna love it here β¨
πΈ NAME πΈ
mpi3mr_check_return_unmap β literally just answers "is this unmap allowed or not" π«Ά
β¨ SYNOPSIS β¨
bool mpi3mr_check_return_unmap (struct mpi3mr_ioc *mrioc , struct
scsi_cmnd *scmd );
it's giving "small function, big responsibility" ngl π
π¦ ARGUMENTS π¦
mriocβ your adapter instance reference, the whole vibe check of the controller itself πscmdβ the SCSI Command reference, aka the actual command we're side-eyeing π
π DESCRIPTION π
so here's the tea β β the controller hardware cannot handle certain unmap commands for NVMe drives. periodt. and this routine is the one that checks those specific cases, returns true, and completes the SCSI command with the proper status and sense data π
it's basically the bouncer at the club going "not you, bestie" and then handing you the correct paperwork on your way out πβ¨
β RETURN β
TRUEβ for not allowed unmap π«FALSEβ otherwise β
no in-between, no maybes, she's decisive π₯
π SEE ALSO π
π§ the kernel file π§
- Kernel file
./drivers/scsi/mpi3mr/mpi3mr_os.c
π the whole friend group π
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_sdev_init(9),mpi3mr_target_alloc(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)
like, that's the entire extended friend group and every single one of them is linked π no cap, go say hi π«Ά
mwah π that's the whole page! this lil masterpiece lives in ./drivers/scsi/mpi3mr and it's dated October 2026 β so yeah, she's from the future, we stan a time-traveling manpage πβ¨
π¦ 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