ibmvfc_adisc_timeout(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ibmvfc_adisc_timeout(9) ✨

okay so we're in the Kernel API Manual bestie, and this page is all about ibmvfc_adisc_timeout β€” one little timer callback that handles an ADISC timeout. no cap, it's short but it does things. πŸŽ€


🌸 NAME 🌸

ibmvfc_adisc_timeout β€” Handle an ADISC timeout. that's literally the whole job description and she owns it πŸ’…


✨ SYNOPSIS ✨

void ibmvfc_adisc_timeout (struct timer_list *t );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • t β€” the ibmvfc target struct 🎯 (yes, that's what the manpage says it is, and we're not arguing with the manpage)

πŸ”₯ DESCRIPTION πŸ”₯

okay so picture this: an ADISC times out 😭. What do we do? We send a cancel. simple as that.

But then β€” and this is the part that gives main character energy β€” if the cancel also times out, we reset the CRQ. periodt. πŸ’€

And when the ADISC finally comes back as cancelled, we log back into the target. that's it, that's the flow 🫢

no cap, that's the entire function. three little steps and she ate πŸ‘‘

🌈 SEE ALSO 🌈

first up, the kernel file where all this lives: ./drivers/scsi/ibmvscsi/ibmvfc-core.c πŸ“

and now the friend group β€” literally the whole extended universe of ibmvfc_* functions, all (9):

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_tgt_adisc(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)

like, the entire roster. every single one. we love a complete cast list 🫢✨


and that's the page, bestie πŸ’– this one came out of ./drivers/scsi/ibmvscsi and it's dated October 2026 β€” iconic, timeless, in the Kernel API Manual fr fr πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from