ibmvfc_next_async_crq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ibmvfc_next_async_crq β€” a.k.a. the "gimme the next one bestie" function

okay so real talk, this is ibmvfc_next_async_crq(9) from the Kernel API Manual, section 9, and it's genuinely one of the shortest little pages you'll ever read, so grab a boba and let's go πŸ§‹βœ¨


✨ NAME ✨

ibmvfc_next_async_crq β€” returns the next entry in the async queue πŸŽ€

like, that's it. that's the whole job. she peeks at the async queue and hands you the next entry. lowkey iconic for how unbothered she is.


🌸 SYNOPSIS 🌸

struct ibmvfc_async_crq * ibmvfc_next_async_crq (struct ibmvfc_host
*vhost );

so you call her with one arg and she gives you back a pointer to a struct ibmvfc_async_crq. no cap, that's the whole signature πŸ¦‹


πŸ’– ARGUMENTS πŸ’–

  • vhost β€” the ibmvfc host struct. yep, that's the one and only thing you pass in. she needs the host struct to know which async queue we're talking about, bestie πŸ’…

⭐ RETURN ⭐

she returns a pointer to the next entry in the queue, or NULL if the queue is empty 🫢

ngl, always check for that NULL β€” empty queue is a whole mood and she will absolutely hand it to you πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

okay this part is a lot, so buckle up. the kernel file lives at ./drivers/scsi/ibmvscsi/ibmvfc-core.c, and here's the entire friend group 🌈:

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_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)

like… that's the whole extended universe fr fr 😭 go read them if you want the full lore, iykyk πŸ“


and that's the tea β˜• this sweetie lives in ./drivers/scsi/ibmvscsi, dated October 2026 β€” catch you on the next page, bestie, mwah πŸ’œπŸ§šβœ¨

πŸ“¦ where this page comes from