ibmvfc_tgt_adisc(9)
π
ibmvfc_tgt_adisc β the ibmvfc_tgt_adisc(9) page, bestie edition π
okay so this one's a kernel API manual page from the ibmvfc_tgt_adisc(9) club, and honestly? it's short, it's spicy, and the timer lore goes HARD. let's get into it π¦
β¨ NAME β¨
ibmvfc_tgt_adisc β the function that kicks off an ADISC for a specific target π«
πΈ SYNOPSIS πΈ
void ibmvfc_tgt_adisc (struct ibmvfc_target *tgt );
like, that's it. that's the whole signature. she's void, she takes one thing, she does not return your texts π
π§ ARGUMENTS π§
tgtβ theibmvfctarget struct. that's the vibe. that's the whole argument list. one (1) struct, no notes π«Ά
π₯ DESCRIPTION π₯
okay so here's the tea, and it's highkey important: when you send an ADISC you end up with two timers running. not one. two. main character energy times two, periodt π
timer number one is the timer living in the ibmvfc target struct. if this one fires, we send a cancel to the target. that's her whole job π
timer number two is the timer on the ibmvfc event for the ADISC β and she's the longer one. so if that one fires? it means the ADISC timed out and our attempt to cancel it also failed. like, double flop. and because of that, we need to reset the CRQ π
so yeah: two timers, escalating consequences. don't @ me, just read the code iykyk π₯
π SEE ALSO π
the friend group is massive, ngl β the whole ibmvfc crew lives over in the kernel file ./drivers/scsi/ibmvscsi/ibmvfc-core.c, and here's literally every single one you should go say hi to:
ibmvfc_trc_start(9), ibmvfc_trc_end(9), ibmvfc_get_err_index(9), ibmvfc_get_cmd_error(9), ibmvfc_get_err_result(9), ibmvfc_retry_cmd(9), ibmvfc_get_ls_explain(9), ibmvfc_get_gs_explain(9), ibmvfc_get_fc_type(9), ibmvfc_set_tgt_action(9), ibmvfc_set_host_state(9), ibmvfc_set_host_action(9), ibmvfc_reinit_host(9), ibmvfc_del_tgt(9), ibmvfc_link_down(9), ibmvfc_init_host(9), ibmvfc_send_crq(9), ibmvfc_send_crq_init(9), ibmvfc_send_crq_init_complete(9), ibmvfc_init_event_pool(9), ibmvfc_free_event_pool(9), ibmvfc_free_queue(9), ibmvfc_release_crq_queue(9), ibmvfc_reenable_crq_queue(9), ibmvfc_reset_crq(9), ibmvfc_valid_event(9), ibmvfc_free_event(9), ibmvfc_vfc_eh_done(9), ibmvfc_complete_purge(9), ibmvfc_fail_request(9), ibmvfc_purge_requests(9), ibmvfc_hard_reset_host(9), __ibmvfc_reset_host(9), ibmvfc_reset_host(9), ibmvfc_retry_host_init(9), __ibmvfc_get_target(9), ibmvfc_get_target(9), ibmvfc_get_host_speed(9), ibmvfc_get_host_port_state(9), ibmvfc_set_rport_dev_loss_tmo(9), ibmvfc_release_tgt(9), ibmvfc_get_starget_node_name(9), ibmvfc_get_starget_port_name(9), ibmvfc_get_starget_port_id(9), ibmvfc_wait_while_resetting(9), ibmvfc_issue_fc_host_lip(9), ibmvfc_gather_partition_info(9), ibmvfc_set_login_info(9), __ibmvfc_get_event(9), ibmvfc_locked_done(9), ibmvfc_init_event(9), ibmvfc_map_sg_list(9), ibmvfc_map_sg_data(9), ibmvfc_timeout(9), ibmvfc_send_event(9), ibmvfc_log_error(9), ibmvfc_scsi_relogin(9), ibmvfc_scsi_done(9), ibmvfc_host_chkready(9), ibmvfc_queuecommand(9), ibmvfc_sync_completion(9), ibmvfc_bsg_timeout_done(9), ibmvfc_bsg_timeout(9), ibmvfc_bsg_plogi(9), ibmvfc_bsg_request(9), ibmvfc_reset_device(9), ibmvfc_match_rport(9), ibmvfc_match_target(9), ibmvfc_match_lun(9), ibmvfc_event_is_free(9), ibmvfc_wait_for_ops(9), ibmvfc_cancel_all(9), ibmvfc_match_key(9), ibmvfc_match_evt(9), ibmvfc_abort_task_set(9), ibmvfc_eh_abort_handler(9), ibmvfc_eh_device_reset_handler(9), ibmvfc_dev_cancel_all_noreset(9), ibmvfc_eh_target_reset_handler(9), ibmvfc_eh_host_reset_handler(9), ibmvfc_terminate_rport_io(9), ibmvfc_get_ae_desc(9), ibmvfc_get_link_state(9), ibmvfc_handle_async(9), ibmvfc_handle_crq(9), ibmvfc_scan_finished(9), ibmvfc_sdev_init(9), ibmvfc_target_alloc(9), ibmvfc_sdev_configure(9), ibmvfc_change_queue_depth(9), ibmvfc_show_log_level(9), ibmvfc_store_log_level(9), ibmvfc_read_trace(9), ibmvfc_next_async_crq(9), ibmvfc_next_crq(9), ibmvfc_interrupt(9), ibmvfc_tasklet(9), ibmvfc_init_tgt(9), ibmvfc_retry_tgt_init(9), ibmvfc_get_prli_rsp(9), ibmvfc_tgt_prli_done(9), ibmvfc_tgt_send_prli(9), ibmvfc_tgt_plogi_done(9), ibmvfc_tgt_send_plogi(9), ibmvfc_tgt_implicit_logout_done(9), __ibmvfc_tgt_get_implicit_logout_evt(9), ibmvfc_tgt_implicit_logout(9), ibmvfc_tgt_implicit_logout_and_del_done(9), ibmvfc_tgt_implicit_logout_and_del(9), ibmvfc_tgt_move_login_done(9), ibmvfc_tgt_move_login(9), ibmvfc_adisc_needs_plogi(9), ibmvfc_tgt_adisc_done(9), ibmvfc_init_passthru(9), ibmvfc_tgt_adisc_cancel_done(9), ibmvfc_adisc_timeout(9), ibmvfc_tgt_query_target_done(9), ibmvfc_tgt_query_target(9), ibmvfc_alloc_target(9), ibmvfc_alloc_targets(9), ibmvfc_discover_targets_done(9), ibmvfc_discover_targets(9), ibmvfc_npiv_login_done(9), ibmvfc_npiv_login(9), ibmvfc_npiv_logout_done(9), ibmvfc_npiv_logout(9), ibmvfc_dev_init_to_do(9), ibmvfc_dev_logo_to_do(9), __ibmvfc_work_to_do(9), ibmvfc_work_to_do(9), ibmvfc_log_ae(9), ibmvfc_tgt_add_nvme_rport(9), ibmvfc_tgt_add_rport(9), ibmvfc_do_work(9), ibmvfc_work(9), ibmvfc_alloc_queue(9), ibmvfc_init_crq(9), ibmvfc_free_mem(9), ibmvfc_alloc_mem(9), ibmvfc_rport_add_thread(9), ibmvfc_probe(9), ibmvfc_remove(9), ibmvfc_resume(9), ibmvfc_get_desired_dma(9), ibmvfc_module_init(9), ibmvfc_module_exit(9)
no cap, that's the whole group chat π
okay bestie that's the page!! this one comes to you straight from ./drivers/scsi/ibmvscsi, dated October 2026 β so like, note the date, screenshot it, whatever, it's giving archival π
β¨ see u in the next manpage, 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