pmcraid_fai...tanding_cmds(9)
π pmcraid_fai...tanding_cmds(9) π
okay bestie so first of all, the full name is literally too iconic for one line, that's why the title looks like that π this is from the Kernel API Manual and it lives in section 9, and we're about to get so into it.
β¨ NAME β¨
pmcraid_fail_outstanding_cmds β not me just straight-up failing all outstanding ops π that's literally the whole gig.
πΈ SYNOPSIS πΈ
void pmcraid_fail_outstanding_cmds (struct pmcraid_instance *pinstance
);
π¦ ARGUMENTS π¦
pinstanceβ pointer to adapter instance structure. that's it. that's the whole argument list. she keeps it simple π
π₯ DESCRIPTION π₯
Okay so what this function does is: it fails all outstanding ops, periodt. No survivors, no stragglers, everybody out of the pool π
But like, it's not just being mean for no reason, there's range here:
- if the ops are already submitted to the IOA, it sends cancel all messages β but only if the IOA is still accepting IOARCBs π
- otherwise it just completes the commands and returns the cmd blocks to the free pool π«Ά
so she's flexible, she reads the room, she knows when to cancel and when to just wrap it up β¨
ngl this is genuinely the most "clean up your own mess" energy I've ever seen in a kernel function and I respect it so much π
Return value: none. she returns vibes and nothing else π
π SEE ALSO π
grab a snack bestie this list is long β this is the whole pmcraid friend group and they're all icons fr fr π
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_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_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)
and yeah, you can also find this whole situation in the kernel file ./drivers/scsi/pmcraid.c β that's where she actually lives π‘
okay that's the whole page bestie, you ate that πβ¨
and for the cute sign-off: this masterpiece came out of ./drivers/scsi and it's dated October 2026 β so yeah, she's got a timestamp and she's not afraid to use it ππ¦ slay, go fail some outstanding ops responsibly π
π¦ 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