ata_scsi_flush_xlat(9)
π ata_scsi_flush_xlat β ngl bestie this is the Kernel API Manual β¨
okay so picture this: you're deep in the kernel, right, and the SCSI layer is being all "please flush your cache bestie" β and this little icon right here is the translator that makes that happen. no cap. it's giving bridge between two worlds π«Ά
πΈ NAME πΈ
ata_scsi_flush_xlat β the one that translates the SCSI SYNCHRONIZE CACHE command. yep. that's the whole job. and she does it flawlessly. π
β¨ SYNOPSIS β¨
unsigned int ata_scsi_flush_xlat (struct ata_queued_cmd *qc );
literally just one argument. she's low-maintenance. we stan a low-maintenance function π
π¦ ARGUMENTS π¦
qcβ the storage where the translated ATA taskfile ends up living. think of it as the little apartment the taskfile moves into after the translation. π β¨
π DESCRIPTION π
okay so here's the vibe: this function sets up an ATA taskfile to issue either FLUSH CACHE or FLUSH CACHE EXT. that's it. that's the plot. two possible endings and both of them are "flush". iconic honestly. π§
π LOCKING π
the lock is spin_lock_irqsave(host lock) β so like, hold that host lock, bestie, and hold it irqsave-style. no cutting corners, no cap. β οΈ
π RETURN π
- Zero when it slays (success π)
- non-zero when it does not slay (error π)
that's the whole vibe check. very binary of her. very main character energy. π
β SEE ALSO β
okay so she has a LOT of friends. like, an unhinged amount of friends. but every single one of them is listed below because we do not leave anyone out of the group chat, periodt. π
ata_scsi_set_passthru_sense_fields(9)ata_std_bios_param(9)ata_scsi_unlock_native_capacity(9)ata_get_identity(9)ata_cmd_ioctl(9)ata_task_ioctl(9)ata_scsi_qc_new(9)ata_to_sense_error(9)ata_gen_ata_sense(9)ata_scsi_dma_need_drain(9)ata_scsi_sdev_init(9)ata_scsi_sdev_configure(9)ata_scsi_sdev_destroy(9)ata_scsi_start_stop_xlat(9)scsi_6_lba_len(9)scsi_10_lba_len(9)scsi_16_lba_len(9)scsi_dld(9)ata_scsi_verify_xlat(9)ata_scsi_rw_xlat(9)ata_scsi_translate(9)ata_scsi_rbuf_fill(9)ata_scsiop_inq_std(9)ata_scsiop_inq_00(9)ata_scsiop_inq_80(9)ata_scsiop_inq_83(9)ata_scsiop_inq_89(9)ata_dsm_trim_pages(9)ata_scsiop_inq_b0(9)ata_scsiop_inq_b1(9)ata_scsiop_inq_b2(9)ata_scsiop_inq_b6(9)ata_scsiop_inq_b9(9)ata_scsiop_inquiry(9)modecpy(9)ata_msense_caching(9)ata_msense_control(9)ata_msense_rw_recovery(9)ata_scsiop_mode_sense(9)ata_scsiop_read_cap(9)ata_scsiop_report_luns(9)atapi_xlat(9)ata_scsi_find_dev(9)ata_scsi_pass_thru(9)ata_format_dsm_trim_descr(9)ata_scsi_write_same_xlat(9)ata_scsiop_maint_in(9)ata_scsi_report_zones_complete(9)ata_mselect_caching(9)ata_mselect_control(9)ata_scsi_mode_select_xlat(9)ata_scsi_var_len_cdb_xlat(9)ata_get_xlat_func(9)ata_scsi_simulate(9)ata_scsi_queuecmd(9)ata_scsi_offline_dev(9)ata_scsi_remove_dev(9)ata_scsi_media_change_notify(9)ata_scsi_hotplug(9)ata_scsi_user_scan(9)ata_scsi_dev_rescan(9)
and yeah, the source is hanging out in the kernel file ./drivers/ata/libata-scsi.c if you wanna go say hi π iykyk
π and that's the whole page bestie π
shoutout to the ./drivers/ata directory for hosting this absolute legend, dated October 2026 β she's from the future and she's still translating cache flushes. we love a consistent queen. πβ¨πΈπ
π¦ 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