scsi_error_handler(9)
π scsi_error_handler(9) π
okay so bestie, we're in the Kernel API Manual today and the entry is scsi_error_handler(9), and honestly? she's kind of the main character of the whole SCSI error story. let's get into it π«Ά
β¨ NAME β¨
scsi_error_handler β the SCSI error handler thread. that's it, that's her. iconic behavior only π
πΈ SYNOPSIS πΈ
int scsi_error_handler (void *data );
not me putting the whole signature in a code block so your eyes don't glaze over π copy it exactly, no cap.
π¦ ARGUMENTS π¦
dataβ the Host for which we are running. that's literally the whole description, she said keep it short and slay π
π₯ NOTES π₯
okay so this? this is the main error handling loop. like, THE loop. the one everything funnels through.
it's run as a kernel thread for every SCSI host, and it handles all error handling activity. every single bit of it. one thread per host, doing the absolute most so your storage doesn't just fall apart π«Άβ¨
bestie this is the busy one β the loop is the whole point, don't sleep on it π
π SEE ALSO π
first off, the kernel file where all this lives: ./drivers/scsi/scsi_error.c β go read it, iykyk π
and now the friend group, in the order the page gives them (do NOT @ me about the length, every single one matters):
scsi_schedule_eh(9)scmd_eh_abort_handler(9)scsi_abort_command(9)scsi_eh_reset(9)scsi_eh_scmd_add(9)scsi_timeout(9)scsi_block_when_processing_errors(9)scsi_eh_prt_fail_stats(9)scsi_report_sense(9)scsi_check_sense(9)scsi_eh_completed_normally(9)scsi_eh_done(9)scsi_try_host_reset(9)scsi_try_bus_reset(9)scsi_try_target_reset(9)scsi_try_bus_device_reset(9)scsi_try_to_abort_cmd(9)scsi_eh_prep_cmnd(9)scsi_eh_restore_cmnd(9)scsi_send_eh_cmnd(9)scsi_request_sense(9)scsi_eh_finish_cmd(9)scsi_eh_get_sense(9)scsi_eh_tur(9)scsi_eh_test_devices(9)scsi_eh_try_stu(9)scsi_eh_bus_device_reset(9)scsi_eh_target_reset(9)scsi_eh_bus_reset(9)scsi_eh_host_reset(9)scsi_eh_offline_sdevs(9)scsi_noretry_cmd(9)scsi_decide_disposition(9)scsi_eh_lock_door(9)scsi_restart_operations(9)scsi_eh_ready_devs(9)scsi_eh_flush_done_q(9)scsi_unjam_host(9)scsi_report_bus_reset(9)scsi_report_device_reset(9)scsi_ioctl_reset(9)scsi_get_sense_info_fld(9)
like i said. the whole friend group. all 42 of them, no one left on read π
mwah, that's the page!! π this lil writeup lives in ./drivers/scsi, dated October 2026, and it's filed under scsi_error_handler(9) β go forth and handle those errors, bestie, you've got this πβ¨
π¦ 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