ata_scsi_qc_new(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 NULL if 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

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