ata_std_qc_defer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

ata_std_qc_defer β€” check whether a qc needs to be deferred. Periodt. We're in the Kernel API Manual, bestie, specifically the ata_std_qc_defer(9) page, and it's giving "tiny but important little gatekeeper."


✨ SYNOPSIS

int ata_std_qc_defer (struct ata_queued_cmd *qc );

πŸŽ€ ARGUMENTS

  • qc β€” the ATA command in question. That's the whole argument, bestie: just qc, the command we're checking on.

πŸ¦‹ DESCRIPTION

okay so here's the tea πŸ«–: non-NCQ commands cannot run with any other command, NCQ or not. Literally no plus-ones allowed. The upper layer only knows the queue depth, so maintaining exclusion is our responsibility. This function checks whether a new command qc can be issued. That's it. That's the job.

LOCKING: spin_lock_irqsave(host lock) β€” that's the locking situation, and yes, it's exactly that.

🌸 RETURN

Returns ATA_DEFER_* if deferring is needed, and 0 otherwise. No mystery, no plot twist. πŸ’–


🌈 SEE ALSO

Kernel file ./drivers/ata/libata-core.c is the home base, and here is the whole friend group of (9) refs β€” no cap, every single one:


πŸ’– that's the entire page, bestie. Source situation: ./drivers/ata, dated October 2026, and it's all about ata_std_qc_defer(9). bye 🫢

πŸ“¦ where this page comes from