ata_scsiop_inq_80(9)
π ata_scsiop_inq_80(9) β a whole vibe from the Kernel API Manual π
okay bestie, sit down, hydrate, and let me tell you about ata_scsiop_inq_80(9), which is genuinely one of the cutest little functions in the whole kernel API, no cap. it lives in the Kernel API Manual and it's basically the wingman that fakes a SCSI answer for you. π
β¨ NAME β¨
ata_scsiop_inq_80 β okay so what it does is simulate INQUIRY VPD page 80, device serial number. that's it, that's the whole job, and it does it flawlessly fr fr π¦
πΈ SYNOPSIS πΈ
unsigned int ata_scsiop_inq_80 (struct ata_device *dev , struct
scsi_cmnd *cmd , u8 *rbuf );
look at her. three arguments, one unsigned int coming back at you. iconic behavior honestly π
π ARGUMENTS π
devβ your target device, the main character of this whole operation. who we doing this for? her. πcmdβ the SCSI command of interest, i.e. the one we're currently obsessed with. π₯rbufβ the response buffer, and this is where the simulated SCSIcmdoutput gets sent. it's the group chat that receives the message, basically. π¨
π¦ DESCRIPTION π¦
Returns ATA device serial number. that's the whole plot. she hands you the serial number and she does not make a thing of it. lowkey humble of her. π₯Ή
LOCKING: spin_lock_irqsave(host lock)
β οΈ bestie, note the locking situation before you go touching anything: it's spin_lock_irqsave(host lock). that's not a suggestion, that's the rule. π
π SEE ALSO π
the Kernel file is right here, go peek: ./drivers/ata/libata-scsi.c β that's the source of truth, iykyk. π«Ά
and now the extended friend group, and yes we are listing every single one of them because nobody gets left out of the credits:
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_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)
that's the whole squad. every single one. slay. π
and that's the page, bestie! mwah π this cutie came to you courtesy of ./drivers/ata, dated October 2026 β shoutout to the source, the version, and the date, periodt. πΈβ¨π
π¦ 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