ata_scsiop_inq_83(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ata_scsiop_inq_83 β€” aka the Kernel API Manual entry, bestie ✨

okay so real talk, this one's from the Kernel API Manual and it's lowkey a whole vibe. sit down, grab a strawberry πŸ“, we're learning about ata_scsiop_inq_83.


πŸŽ€ NAME πŸŽ€

ata_scsiop_inq_83 β€” it literally simulates INQUIRY VPD page 83, which is the device identity page. like, it's the function that tells the SCSI world who this ATA device actually is. main character energy fr fr πŸ‘‘


✨ SYNOPSIS ✨

unsigned int ata_scsiop_inq_83 (struct ata_device *dev , struct
scsi_cmnd *cmd , u8 *rbuf );

no cap, that's the whole signature. look at it. iconic.


πŸ¦‹ ARGUMENTS πŸ¦‹

  • dev β€” the target device πŸ’– like, the ATA device we're out here identifying.
  • cmd β€” the SCSI command of interest 🌸 (the one we're pretending to answer).
  • rbuf β€” the response buffer, and this is where the simulated SCSI cmd output gets sent πŸŽ€ so like, this is the lil mailbox the answer goes into.

🌈 DESCRIPTION 🌈

okay so here's what it does: it yields two logical unit device identification designators. two. not one. two. and they are:

  • vendor specific ASCII containing the ATA serial number 🧚
  • the SAT defined "t10 vendor id based" one, which contains the ASCII vendor name ("ATA "), plus the model and serial numbers ✨

that's it, that's the whole thing, and honestly? it ate. πŸ’…

LOCKING: spin_lock_irqsave(host lock) πŸ”’ β€” yes bestie that's the locking situation, don't come for me, I just report the facts.

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file lives at ./drivers/ata/libata-scsi.c πŸ¦‹ and here's the whole friend group, no one left out, 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), 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_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 that's the page!! this lil gem lives under ./drivers/ata and the version stamp says October 2026 on the ata_scsiop_inq_83(9) page β€” so like, mark your calendar bestie, mwah πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from