ibmvfc_vfc_eh_done(9)
β¨ NAME β¨
ibmvfc_vfc_eh_done β the EH done function for queued IO π
okay so this page is straight out of the Kernel API Manual (section 9), and we're talking about one very specific little function. buckle up, bestie π
πΈ SYNOPSIS πΈ
void ibmvfc_vfc_eh_done (struct ibmvfc_event *evt );
π ARGUMENTS π
evtβ the ibmvfc event struct π¦ literally just your event struct, hand it over and let it cook.
π₯ DESCRIPTION π₯
Okay so here's the tea, and it's important: this function does not setup any error status for scsi commands. not a single one. it's not being shady, it's just not its job π
That setup must be done before this function gets called, fr fr. so do your error-status homework first, then call this. no skipping steps, no cap π
π SEE ALSO π
Kernel file ./drivers/scsi/ibmvscsi/ibmvfc-core.c β and honestly the whole friend group showed up to the group chat, because this list is giving main character energy π
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_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_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)
ngl that's a lot of cross-references, but every single one ate and left no crumbs π go read them, iykyk
and that's the whole page diva π«Ά brought to you straight from ./drivers/scsi/ibmvscsi, stamped October 2026 β now go call your function after you set that error status, 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