ata_scsiop_inq_b2(9)
π ata_scsiop_inq_b2 β the Kernel API Manual tea π«Ά
okay bestie, so this little icon lives in the Kernel API Manual, and honestly? it's giving "quietly doing the most" energy. it's ata_scsiop_inq_b2, and yes, the name is a mouthful, no cap. let's get into it β¨
πΈ NAME πΈ
ata_scsiop_inq_b2 β literally Simulate INQUIRY VPD page B2, Logical Block Provisioning. that's the whole vibe. it fakes the INQUIRY page B2 so your SCSI side thinks it's getting the real deal π
π SYNOPSIS π
unsigned int ata_scsiop_inq_b2 (struct ata_device *dev , struct
scsi_cmnd *cmd , u8 *rbuf );
three args, one unsigned int coming back at you. slay π
β¨ ARGUMENTS β¨
devβ the Target device. like, the device we're doing all this for πcmdβ the SCSI command of interest. the one we're simming for π¦rbufβ the Response buffer, to which simulated SCSI cmd output is sent. it's the lil mailbox where the fake output goes π
π DESCRIPTION π
so what does it actually DO? it returns data for the VPD page B2h (Logical Block Provisioning). periodt. that's the whole job, and it does it flawlessly β¨
LOCKING: spin_lock_irqsave(host lock) β yes bestie, the host lock, with irqsave. do not forget it, i'm begging π
π SEE ALSO π
the friend group is HUGE, i'm obsessed π literally the whole libata-scsi.c clique showed up. also, the source file lives at:
- Kernel file
./drivers/ata/libata-scsi.c
and now the full squad, in order, no one left behind π«Ά:
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_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)
okay that's the whole page, bestie, and you ATE it π
π this lil beauty comes to you from ./drivers/ata, dated October 2026, under the ata_scsiop_inq_b2(9) title β go forth and simulate that INQUIRY page, mwah π§πΈ
π¦ 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