fc_fcp_rec_resp(9)
π
fc_fcp_rec_resp β a kernel API manual moment (that's the 9 section bestie, iykyk)
okay so bestie, gather round, because today we're reading fc_fcp_rec_resp(9) from the Kernel API Manual and honestly? it's giving "small function, big job" energy. this is the handler for REC ELS responses, and yes we're gonna walk through every single bit of it together, no skipping, periodt. β¨
πΈ NAME πΈ
fc_fcp_rec_resp β Handler for REC ELS responses. literally that's the whole thing. she handles REC ELS responses. iconic behaviour, no notes. π
β¨ SYNOPSIS β¨
void fc_fcp_rec_resp (struct fc_seq *seq , struct fc_frame *fp , void
*arg );
three args, one void return, zero drama. copy it exactly like that when you need it, bestie β the line break and all π«Ά
π¦ ARGUMENTS π¦
seqβ The sequence the response is on. that's her. that's the sequence. π«fpβ The response frame. the actual frame carrying the response, main character vibes.argβ The FCP packet the response is on. lowkey the most important one because we keep needing it later. π
π₯ DESCRIPTION π₯
so here's the tea, and there are like two whole branches so stay with me.
- if the response is a reject, then the SCSI layer will handle the timeout. not our problem, not our shift, we hand it off. π
- if the response is a
LS_ACC, then we vibe check the I/O:- if the I/O was not completed, set the timeout and return. that's it, that's the move. β°
- if the I/O was completed, then complete the exchange and tell the SCSI layer. done and dusted, go tell the group chat. π
no cap, that's the entire flow. concise queen.
π SEE ALSO π
okay this list is LONG and we are NOT skipping a single one, because every reference is a friend and we don't leave friends behind. π
kernel file ./drivers/scsi/libfc/fc_fcp.c plus struct fc_fcp_internal(9), fc_fcp_pkt_alloc(9), fc_fcp_pkt_release(9), fc_fcp_pkt_hold(9), fc_fcp_pkt_destroy(9), fc_fcp_lock_pkt(9), fc_fcp_unlock_pkt(9), fc_fcp_timer_set(9), fc_fcp_send_abort(9), fc_fcp_retry_cmd(9), fc_fcp_ddp_setup(9), fc_fcp_ddp_done(9), fc_fcp_can_queue_ramp_up(9), fc_fcp_can_queue_ramp_down(9), get_fsp_rec_tov(9), fc_fcp_recv_data(9), fc_fcp_send_data(9), fc_fcp_abts_resp(9), fc_fcp_recv(9), fc_fcp_resp(9), fc_fcp_complete_locked(9), fc_fcp_cleanup_cmd(9), fc_fcp_cleanup_each_cmd(9), fc_fcp_abort_io(9), fc_fcp_pkt_send(9), fc_fcp_cmd_send(9), fc_fcp_error(9), fc_fcp_pkt_abort(9), fc_lun_reset_send(9), fc_lun_reset(9), fc_tm_done(9), fc_fcp_cleanup(9), fc_fcp_timeout(9), fc_fcp_rec(9), fc_fcp_rec_error(9), fc_fcp_recovery(9), fc_fcp_srr(9), fc_fcp_srr_resp(9), fc_fcp_srr_error(9), fc_fcp_lport_queue_ready(9), fc_queuecommand(9), fc_io_compl(9), fc_eh_abort(9), fc_eh_device_reset(9), fc_eh_host_reset(9), fc_sdev_init(9), fc_fcp_destroy(9), fc_fcp_init(9).
like, the whole libfc family reunion fr fr. π§
also the source dir is ./drivers/scsi/libfc if you were wondering where she lives π‘
and that's the page!! huge thank you to the ./drivers/scsi/libfc directory, dated October 2026, for this fc_fcp_rec_resp(9) moment β she ate, she slayed, she handled the REC ELS responses. 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