ata_eh_maybe_retry_flush(9)
π ata_eh_maybe_retry_flush(9) π
From the Kernel API Manual, bestie β yes, we're literally in kernel docs now, keep up π
πΈ NAME πΈ
ata_eh_maybe_retry_flush β retry FLUSH if necessary, no cap.
β¨ SYNOPSIS β¨
int ata_eh_maybe_retry_flush (struct ata_device *dev );
π ARGUMENTS π
devβ the ATA device that might need a FLUSH retry. Literally the main character here π«Ά
π DESCRIPTION π
Okay so picture this: if dev has failed FLUSH, that needs to be reported to the upper layer immediately β because it means dev failed to remap and has already lost at least a sector, and further FLUSH retrials won't make any difference to the lost sector. Like, the sector is gone, bestie π no amount of retrying is bringing it back.
But if the FLUSH failed for other reasons β transmission error, for example β then FLUSH needs to be retried. That's the plot twist. π
This function determines whether a FLUSH failure retry is necessary, and if it is, it performs it. That's the whole job. β¨
π₯ RETURN π₯
0β EH can continue. Slay, we move. π-errnoβ EH needs to be repeated. Not the vibe, but okay, we run it back π
π SEE ALSO π
Kernel file: ./drivers/ata/libata-eh.c β and the whole extended universe is:
__ata_ehi_push_desc(9)ata_ehi_push_desc(9)ata_ehi_clear_desc(9)ata_port_desc(9)ata_port_pbar_desc(9)ata_internal_cmd_timeout(9)ata_internal_cmd_timed_out(9)ata_eh_acquire(9)ata_eh_release(9)ata_scsi_error(9)ata_scsi_cmd_error_handler(9)ata_scsi_port_error_handler(9)ata_port_wait_eh(9)ata_eh_set_pending(9)ata_qc_schedule_eh(9)ata_std_sched_eh(9)ata_std_end_eh(9)ata_port_schedule_eh(9)ata_link_abort(9)ata_port_abort(9)__ata_port_freeze(9)ata_port_freeze(9)ata_eh_freeze_port(9)ata_eh_thaw_port(9)ata_eh_qc_complete(9)ata_eh_qc_retry(9)ata_dev_disable(9)ata_eh_detach_dev(9)ata_eh_about_to_do(9)ata_eh_done(9)ata_err_string(9)atapi_eh_tur(9)ata_eh_decide_disposition(9)ata_eh_request_sense(9)atapi_eh_request_sense(9)ata_eh_analyze_serror(9)ata_eh_analyze_tf(9)ata_eh_speed_down_verdict(9)ata_eh_speed_down(9)ata_eh_worth_retry(9)ata_eh_quiet(9)ata_eh_link_set_lpm(9)ata_eh_link_autopsy(9)ata_eh_autopsy(9)ata_get_cmd_name(9)ata_eh_link_report(9)ata_eh_report(9)ata_eh_set_mode(9)atapi_eh_clear_ua(9)ata_eh_recover(9)ata_eh_finish(9)ata_std_error_handler(9)ata_eh_handle_port_suspend(9)ata_eh_handle_port_resume(9)
Okay that's the page! Source/version: ./drivers/ata Β· October 2026 Β· ata_eh_maybe_retry_flush(9) out, byeeee π¦π
π¦ 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