fc_exch_pool_reset(9)
π fc_exch_pool_reset β Reset a per cpu exchange pool π
okay so bestie, we're deep in the Kernel API Manual today (yes, the Kernel API Manual, section 9, we're fancy like that β¨) and the star of the show is fc_exch_pool_reset. it's a reset. for an exchange pool. per cpu. iykyk π
π SYNOPSIS
void fc_exch_pool_reset (struct fc_lport *lport , struct fc_exch_pool
*pool , u32 sid , u32 did );
that's it. that's the whole call. no return value, it's giving void and unbothered π
π«Ά ARGUMENTS
lportβ the local port that the exchange pool lives on. like, whose pool even is this πpoolβ the actual exchange pool you're resetting. the main character of this function frsidβ the source ID πdidβ the destination ID π
π DESCRIPTION
okay so here's the tea β: fc_exch_pool_reset resets a per cpu exches pool β yes it says "exches", that's the manpage's own spelling, i'm not touching it β and it releases all of its sequences and exchanges. literally all of them. gone. released. slay π
but wait, there's a filter moment β¨:
- if
sidis non-zero, then it resets only exchanges that we sourced from the local port's FID π - if
didis non-zero, then it only resets exchanges destined for the local port's FID π―
so like, pass zeros if you want the whole pool reset, or pass real IDs if you wanna be picky. either way, it's a reset, and it ate π₯
π SEE ALSO
bestie, buckle up, this list is long and honestly iconic for it πΈ it all comes from the kernel file ./drivers/scsi/libfc/fc_exch.c:
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_recip(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_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)
like i said. a lot. every single one of them, no cap π§
ngl there's no RETURN VALUE and no ERRORS section here, because it returns void and it simply does the thing. that's main character energy fr fr π
and that's the whole vibe check bestie π¦ this little gem lives in ./drivers/scsi/libfc and the version stamp says October 2026 β so yeah, future-timestamped and still slaying π go reset a pool, you've got this π«Άβ¨
π¦ 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