mpi3mr_clear_scmd_priv(9)
π mpi3mr_clear_scmd_priv(9) β from the Kernel API Manual, section 9, bestie
okay so hi π«Ά you're looking at a page from the Kernel API Manual, section 9 (that's the kernel-API section, iykyk). The function's name is mpi3mr_clear_scmd_priv, and likeβ¦ it's a tiny little cleanup gremlin and I'm obsessed with how simple it is. Let's get into it β¨
π NAME π
mpi3mr_clear_scmd_priv β Cleanup SCSI command private date
and yes bestie, the page really does say βdateβ and not βdataβ π I'm not fixing it, I'm just delivering it to you exactly as it was written. Iconic typo behavior, no cap.
β¨ SYNOPSIS β¨
void mpi3mr_clear_scmd_priv (struct mpi3mr_ioc *mrioc , struct scsi_cmnd
*scmd );
so it returns void (nothing comes back out, it's giving "I do my job and I leave πΈ") and it takes exactly two things. That's the whole vibe check.
π¦ ARGUMENTS π¦
mriocβ the adapter instance reference π like, the whole controller/driver instance this command belongs to.scmdβ the SCSI command reference, aka the actual command we're tidying up after.
two args, zero drama, we love to see it π
πΈ DESCRIPTION πΈ
here's the tea β: mpi3mr_clear_scmd_priv invalidates the SCSI command private data, and the whole point of doing that is to mark the command as not in LLD scope anymore β LLD being the low-level driver, bestie, so basically "this command is no longer ours, hands off π".
it doesn't return anything useful, it doesn't do a little dance, it just marks the thing as out of scope. tiny function, big main character energy πβ¨
π RETURN π
Nothing. π«Ά like, literally nothing comes back. void. it's giving "I gave you closure, not a value" π
π SEE ALSO π
first up, the source file itself lives right here in the kernel tree:
./drivers/scsi/mpi3mr/mpi3mr_os.c
and nowβ¦ the friend group π the whole mpi3mr extended universe, in the order the page lists them:
mpi3mr_host_tag_for_scmd(9), mpi3mr_scmd_from_host_tag(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_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)
fr fr that's the whole squad π every single one of them, not one skipped, because we don't do "etc." around here π«Ά
okay that's the page, bestie π it comes to you courtesy of the kernel source directory ./drivers/scsi/mpi3mr, dated October 2026, and the page itself is mpi3mr_clear_scmd_priv(9). go forth and clear those private data (dates? π) and slay β¨ππ
π¦ 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