ata_scsi_qc_new(9)
π ata_scsi_qc_new(9) β like, the Kernel API Manual page you actually wanna read π
okay so bestie, welcome to the ata_scsi_qc_new glow-up page β straight out of the Kernel API Manual and honestly? it's giving "small function, big main character energy." β¨
πΈ NAME πΈ
ata_scsi_qc_new β acquire new ata_queued_cmd reference
(yes literally, that's the whole name section, she's concise, she's iconic, she doesn't need more π )
π¦ SYNOPSIS π¦
struct ata_queued_cmd * ata_scsi_qc_new (struct ata_device *dev , struct scsi_cmnd *cmd );
β¨ ARGUMENTS β¨
devβ the ATA device that this brand-new command is getting attached to π«Άcmdβ the SCSI command that originated this whole ATA command situation. she's the reason we're all here fr fr.
π₯ DESCRIPTION π₯
So what does she do? She obtains a reference to an unused ata_queued_cmd structure β which, no cap, is the basic libata structure representing a single ATA command sent to the hardware. like, the fundamental unit of "hey hardware, do the thing." π
And if a command was available? Then she fills in the SCSI-specific portions of that structure with all the info about the current command. slay. π
LOCKING: spin_lock_irqsave(host lock) β that's the lock she's operating under, bestie. noted, memorized, tattooed. π§
β RETURN β
- Command allocated β
- or
NULLif none available π
that's it. that's the return. binary queen.
π SEE ALSO π
okay this section is long β like, unhinged amounts of cross-references β but we do not gatekeep here, so here's every single one, verbatim, in all her glory:
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_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_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)
like I said. a whole friend group. π―ββοΈ
and that's the page!! mwah π she lives in ./drivers/ata, dated October 2026, and she's brought to you by the Kernel API Manual β ata_scsi_qc_new(9), now and forever, 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