target_submit_tmr(9)
π target_submit_tmr(9) π
okay so bestie, welcome to the Kernel API Manual β this one is target_submit_tmr(9) and it's literally the glow-up moment where an uninitialized se_cmd becomes a real TMR submission. it looks up the unpacked lun, then submits. periodt. π
β¨ NAME β¨
target_submit_tmr β the function that does the lookup of the unpacked lun and submits the uninitialized se_cmd for TMR CDBs π¦
like, one stop shop. no cap.
πΈ SYNOPSIS πΈ
int target_submit_tmr (struct se_cmd *se_cmd , struct se_session
*se_sess , unsigned char *sense , u64 unpacked_lun , void
*fabric_tmr_ptr , unsigned char tm_type , gfp_t gfp , u64 tag , int
flags );
it returns an int, bestie. nine whole arguments. she's high-maintenance but she's worth it π
π«Ά ARGUMENTS π«Ά
here's the full cast β every single one of them, no skips:
se_cmdβ the command descriptor you're submitting. this is the main character β¨se_sessβ the associatedse_sessfor the endpoint πsenseβ pointer to the SCSI sense buffer, iykyk πunpacked_lunβ the unpacked LUN that gets referenced forstruct se_lunπfabric_tmr_ptrβ the fabric context for the TMR req, very fabric of our lives of it π§tm_typeβ the Type of TM request π«gfpβ gfp type for the caller (yes, the caller's gfp, respect the caller) πΈtagβ the referenced task tag forTMR_ABORT_TASKπ₯flagsβ submit cmd flags, flags are flags, slay π©
β DESCRIPTION β
callable from all contexts.
that's it. that's the whole vibe. you can call it from anywhere, literally. ππ she's flexible like that.
π SEE ALSO π
the kernel file lives at:
./drivers/target/target_core_transport.c
and here's the whole friend group (all of them, in order, tag yourself):
transport_init_session(9)transport_alloc_session(9)transport_alloc_session_tags(9)transport_init_session_tags(9)target_cmd_size_check(9)target_init_cmd(9)target_submit_prep(9)target_submit_cmd(9)target_queue_submission(9)target_submit(9)target_get_sess_cmd(9)target_put_sess_cmd(9)target_stop_cmd_counter(9)target_stop_session(9)target_wait_for_cmds(9)target_wait_for_sess_cmds(9)transport_wait_for_tasks(9)translate_sense_reason(9)target_send_busy(9)
ok so that's the page!! now go forth and submit your TMRs responsibly, bestie π
source path: ./drivers/target π dated: October 2026 π and ofc it's target_submit_tmr(9) all the way down ππ
β¨ mwah, bye!
π¦ 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