ata_msense_rw_recovery(9)
π« ata_msense_rw_recovery π«
okay so this is ata_msense_rw_recovery, straight out of the kernel API manual β yes bestie, we're reading kernel docs for fun now, and honestly? iconic behavior. it lives in section 9, iykyk π
β¨ NAME β¨
ata_msense_rw_recovery β the little function that simulates the MODE SENSE r/w error recovery page π¦
πΈ SYNOPSIS πΈ
unsigned int ata_msense_rw_recovery (u8 *buf , bool changeable );
that's the whole signature, no cap. unsigned int going in, unsigned int coming out, two args, periodt π
π ARGUMENTS π
bufβ the output buffer, aka where the good stuff gets written πchangeableβ aboolthat says whether you're asking for the changeable parameters or not. like, do you want the flexible version or the fixed version, bestie? pick one π«Ά
π₯ DESCRIPTION π₯
so what does it actually do? it generates a generic MODE SENSE r/w error recovery page. that's it, that's the whole vibe. a fresh, generic page, made to order β¨
LOCKING: None. nope, zero, not a single lock. go wild, but also, like, responsibly π
lowkey important: this manpage doesn't tell you anything about locking beyond "None", so don't go inventing your own rules, bestie. it says None. it means None. π
π SEE ALSO π
okay this list is long and honestly it ate. every single one of these, no skipping:
- Kernel file
./drivers/ata/libata-scsi.cβ 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),ata_scsi_flush_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_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 that's the whole page, bestie. it's giving "small function, huge friend group" energy ngl π
source: ./drivers/ata Β· dated: October 2026 Β· ata_msense_rw_recovery(9) β mwah, drink some water, and go read another manpage for me ππ§ββοΈ
π¦ 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