pmcraid_io_done(9)
π
pmcraid_io_done (9) β from the Kernel API Manual, bestie π
Okay so we're in the kernel docs, section 9, and today's main character is pmcraid_io_done β the SCSI completion function. Yes, her whole job is "the thing finished, let everyone know." Iconic, lowkey essential, no cap. β¨
πΈ NAME πΈ
pmcraid_io_done β the SCSI completion function. That's it, that's the whole vibe. She shows up when an op is done and handles the wrap-up. π
π¦ SYNOPSIS π¦
void pmcraid_io_done (struct pmcraid_cmd *cmd );
Like, that's the entire signature. Void return, one pointer in, go off queen. π
π ARGUMENTS π
cmdβ pointer topmcraidcommand struct. So basically the whole command situation gets handed to her and she deals with it. π«Ά
β DESCRIPTION β
So here's the tea: this function gets invoked by the tasklet/mid-layer error handler, and its whole moment is completing the SCSI ops that got sent from the mid-layer. Like the mid-layer sent the ops out into the world, and pmcraid_io_done is the one who's there at the finish line going "you did it, bestie." πβ¨
Return value: none. She gives nothing back β not because she's cold, but because she literally returns void. It's giving generous, honestly. π
π₯ SEE ALSO π₯
Kernel file ./drivers/scsi/pmcraid.c, plus the entire extended friendship group. She knows everyone, fr fr β here's the full guest list, no one left out:
pmcraid_sdev_init(9)pmcraid_sdev_configure(9)pmcraid_sdev_destroy(9)pmcraid_change_queue_depth(9)pmcraid_init_cmdblk(9)pmcraid_reinit_cmdblk(9)pmcraid_get_free_cmd(9)pmcraid_return_cmd(9)pmcraid_read_interrupts(9)pmcraid_disable_interrupts(9)pmcraid_enable_interrupts(9)pmcraid_clr_trans_op(9)pmcraid_reset_type(9)pmcraid_bist_done(9)pmcraid_start_bist(9)pmcraid_reset_alert_done(9)pmcraid_reset_alert(9)pmcraid_timeout_handler(9)pmcraid_internal_done(9)pmcraid_reinit_cfgtable_done(9)pmcraid_erp_done(9)_pmcraid_fire_command(9)pmcraid_send_cmd(9)pmcraid_ioa_shutdown_done(9)pmcraid_ioa_shutdown(9)pmcraid_get_fwversion_done(9)pmcraid_get_fwversion(9)pmcraid_identify_hrrq(9)pmcraid_send_hcam_cmd(9)pmcraid_init_hcam(9)pmcraid_send_hcam(9)pmcraid_prepare_cancel_cmd(9)pmcraid_cancel_hcam(9)pmcraid_cancel_ccn(9)pmcraid_cancel_ldn(9)pmcraid_expose_resource(9)pmcraid_netlink_init(9)pmcraid_netlink_release(9)pmcraid_notify_ccn(9)pmcraid_notify_ldn(9)pmcraid_notify_ioastate(9)pmcraid_handle_config_change(9)pmcraid_get_error_info(9)pmcraid_ioasc_logger(9)pmcraid_handle_error_log(9)pmcraid_process_ccn(9)pmcraid_process_ldn(9)pmcraid_register_hcams(9)pmcraid_unregister_hcams(9)pmcraid_reset_enable_ioa(9)pmcraid_soft_reset(9)pmcraid_get_dump(9)pmcraid_fail_outstanding_cmds(9)pmcraid_ioa_reset(9)pmcraid_initiate_reset(9)pmcraid_reset_reload(9)pmcraid_reset_bringdown(9)pmcraid_reset_bringup(9)pmcraid_request_sense(9)pmcraid_cancel_all(9)pmcraid_frame_auto_sense(9)pmcraid_error_handler(9)pmcraid_reset_device(9)_pmcraid_io_done(9)pmcraid_abort_cmd(9)pmcraid_abort_complete(9)pmcraid_eh_abort_handler(9)pmcraid_eh_device_reset_handler(9)pmcraid_eh_host_reset_handler(9)pmcraid_init_ioadls(9)pmcraid_build_ioadl(9)pmcraid_queuecommand_lck(9)pmcraid_ioctl_driver(9)pmcraid_check_ioctl_buffer(9)pmcraid_show_log_level(9)pmcraid_store_log_level(9)pmcraid_show_drv_version(9)pmcraid_show_adapter_id(9)pmcraid_isr(9)pmcraid_worker_function(9)pmcraid_tasklet_function(9)pmcraid_unregister_interrupt_handler(9)pmcraid_register_interrupt_handler(9)pmcraid_release_cmd_blocks(9)pmcraid_release_control_blocks(9)pmcraid_allocate_cmd_blocks(9)pmcraid_allocate_control_blocks(9)pmcraid_release_host_rrqs(9)pmcraid_allocate_host_rrqs(9)pmcraid_release_hcams(9)pmcraid_allocate_hcams(9)pmcraid_release_config_buffers(9)pmcraid_allocate_config_buffers(9)pmcraid_init_tasklets(9)pmcraid_kill_tasklets(9)pmcraid_release_buffers(9)pmcraid_init_buffers(9)pmcraid_reinit_buffers(9)pmcraid_init_instance(9)pmcraid_shutdown(9)pmcraid_setup_chrdev(9)pmcraid_release_chrdev(9)pmcraid_remove(9)pmcraid_suspend(9)pmcraid_resume(9)pmcraid_complete_ioa_reset(9)pmcraid_set_supported_devs(9)pmcraid_set_timestamp(9)pmcraid_init_res_table(9)pmcraid_querycfg(9)pmcraid_probe(9)pmcraid_init(9)pmcraid_exit(9)
Heads up bestie: that list is long. Like, genuinely long. I did not skip a single one because the whole point is you can find any of them, okay? π
And that's the page!! π This one came out of ./drivers/scsi in October 2026, and honestly it ate. Go complete some SCSI ops, you absolute icon. ππ¦πβ¨π₯°
π¦ 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