fc_lport_logo_resp(9)
π fc_lport_logo_resp β a Kernel API Manual moment π
okay bestie, so this is a page from the Kernel API Manual and honestly? it's a tiny one but it matters. picture it: somebody out there sent you a LOGO, and now you gotta handle the response. main character energy fr fr. let's get into it π
β¨ NAME β¨
fc_lport_logo_resp β handle the response to a LOGO request. that's it, that's the whole vibe π¦
πΈ SYNOPSIS πΈ
void fc_lport_logo_resp (struct fc_seq *sp , struct fc_frame *fp , void *lp_arg );
yep, it returns void β no little return value to obsess over, she just does the thing and leaves π
π ARGUMENTS π
spβ the sequence that the LOGO was on. like, the receipt of what went down π§Ύfpβ the LOGO frame itself. the actual drama in frame form π¦lp_argβ the lport port that received the LOGO request. the one who caught the tea β
π₯ DESCRIPTION π₯
here's the part you gotta read, bestie, don't skim it π
Locking Note: this function will be called without the lport lock held. but then β plot twist β it will lock, call an _enter_* function or fc_lport_error, and then unlock the lport. so the lock situation is giving "i'm not holding it, wait i am, ok now i'm not" π iconic honestly, she locks and unlocks like it's a lil routine (iykyk).
nah but fr, keep that in mind: you do not come in holding the lport lock. she handles that herself. β¨
π SEE ALSO π
the whole squad, in order, no cap β kernel file ./drivers/scsi/libfc/fc_lport.c plus:
struct fc_bsg_info(9)fc_frame_drop(9)fc_lport_rport_callback(9)fc_lport_state(9)fc_lport_ptp_setup(9)fc_get_host_port_state(9)fc_get_host_speed(9)fc_get_host_stats(9)fc_lport_flogi_fill(9)fc_lport_add_fc4_type(9)fc_lport_recv_rlir_req(9)fc_lport_recv_echo_req(9)fc_lport_recv_rnid_req(9)fc_lport_recv_logo_req(9)fc_fabric_login(9)__fc_linkup(9)fc_linkup(9)__fc_linkdown(9)fc_linkdown(9)fc_fabric_logoff(9)fc_lport_destroy(9)fc_set_mfs(9)fc_lport_disc_callback(9)fc_lport_enter_ready(9)fc_lport_set_port_id(9)fc_lport_set_local_id(9)fc_lport_recv_flogi_req(9)fc_lport_recv_els_req(9)fc_lport_recv(9)fc_lport_reset(9)fc_lport_reset_locked(9)fc_lport_enter_reset(9)fc_lport_enter_disabled(9)fc_lport_error(9)fc_lport_ns_resp(9)fc_lport_ms_resp(9)fc_lport_scr_resp(9)fc_lport_enter_scr(9)fc_lport_enter_ns(9)fc_lport_enter_dns(9)fc_lport_enter_ms(9)fc_lport_enter_fdmi(9)fc_lport_timeout(9)fc_lport_enter_logo(9)fc_lport_flogi_resp(9)fc_lport_enter_flogi(9)fc_lport_config(9)fc_lport_init(9)fc_lport_bsg_resp(9)fc_lport_els_request(9)fc_lport_ct_request(9)fc_lport_bsg_request(9)
and that's the whole page, bestie π«Ά it lives over in ./drivers/scsi/libfc, dated October 2026 β mwah, go read the source, ily, 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