fc_seq_lookup_recip(9)
π fc_seq_lookup_recip β a vibe check on the Kernel API Manual β¨
Okay so bestie, we're in the <pink>Kernel API Manual</pink> today and the main character is literally fc_seq_lookup_recip. Periodt. Let's get into it π
πΈ NAME πΈ
fc_seq_lookup_recip β find a sequence where the other end originated the sequence π«Ά
Like, you're not the one who started it, they did, and now you gotta go find that sequence. No cap.
β¨ SYNOPSIS β¨
enum fc_pf_rjt_reason fc_seq_lookup_recip (struct fc_lport *lport ,
struct fc_exch_mgr *mp , struct fc_frame *fp );
Look at her. Iconic signature. Ate. π
π ARGUMENTS π
lportβ the local port that the frame was sent to π like, this is the address it landed at bestiempβ the Exchange Manager you're looking the exchange up from π that's the whole point, we're doing a lookup herefpβ the frame that's attached to the sequence we're hunting for π¦ the actual thing we're trying to match up
π¦ DESCRIPTION π¦
So here's the tea β β if fc_pf_rjt_reason comes back as FC_RJT_NONE, then this function will have a hold on the ep, and it's lowkey on the caller to release it. π«Ά
Like, not me handing you the ep and expecting you to clean up after yourself, but yes, exactly that. The hold is yours now. Release it. Please and thank you π
β¨
Fr fr, don't forget the release β it's giving "leave it on read" energy and nobody wants that π
π SEE ALSO π
Kernel file ./drivers/scsi/libfc/fc_exch.c plus the whole extended universe of friends, in the order they appear, because we don't skip anyone in this house π:
struct fc_exch_pool(9)struct fc_exch_mgr(9)struct fc_exch_mgr_anchor(9)fc_exch_name_lookup(9)fc_exch_rctl_name(9)fc_exch_hold(9)fc_exch_setup_hdr(9)fc_exch_release(9)fc_exch_timer_cancel(9)fc_exch_timer_set_locked(9)fc_exch_timer_set(9)fc_exch_done_locked(9)fc_exch_ptr_get(9)fc_exch_ptr_set(9)fc_exch_delete(9)fc_seq_send(9)fc_seq_alloc(9)fc_seq_start_next_locked(9)fc_seq_start_next(9)fc_exch_abort_locked(9)fc_seq_exch_abort(9)fc_invoke_resp(9)fc_exch_timeout(9)fc_exch_em_alloc(9)fc_exch_alloc(9)fc_exch_find(9)fc_exch_done(9)fc_exch_resp(9)fc_seq_lookup_orig(9)fc_exch_set_addr(9)fc_seq_els_rsp_send(9)fc_seq_send_last(9)fc_seq_send_ack(9)fc_exch_send_ba_rjt(9)fc_exch_recv_abts(9)fc_seq_assign(9)fc_seq_release(9)fc_exch_recv_req(9)fc_exch_recv_seq_resp(9)fc_exch_recv_resp(9)fc_exch_abts_resp(9)fc_exch_recv_bls(9)fc_seq_ls_acc(9)fc_seq_ls_rjt(9)fc_exch_reset(9)fc_exch_pool_reset(9)fc_exch_mgr_reset(9)fc_exch_lookup(9)fc_exch_els_rec(9)fc_exch_rrq_resp(9)fc_exch_seq_send(9)fc_exch_rrq(9)fc_exch_els_rrq(9)fc_exch_update_stats(9)fc_exch_mgr_add(9)fc_exch_mgr_destroy(9)fc_exch_mgr_del(9)fc_exch_mgr_list_clone(9)fc_exch_mgr_alloc(9)fc_exch_mgr_free(9)fc_find_ema(9)fc_exch_recv(9)fc_exch_init(9)fc_setup_exch_mgr(9)fc_destroy_exch_mgr(9)
That's the whole squad, no gatekeeping π«
Okay that's the page!! Signing off from ./drivers/scsi/libfc, dated October 2026, and the name on the door is fc_seq_lookup_recip(9) πβ¨ bye bestie, 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