ata_eh_set_pending(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ata_eh_set_pending(9) β€” like, the kernel API manual, but make it make sense πŸŽ€

okay so bestie, welcome to the Kernel API Manual, section 9 (kernel functions, iykyk). Today's main character is ata_eh_set_pending, and honestly? she's a tiny little function with one job and she does it flawlessly. Let's get into it ✨


✨ NAME ✨

ata_eh_set_pending β€” sets ATA_PFLAG_EH_PENDING and activates fast drain πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void ata_eh_set_pending (struct ata_port *ap , bool fastdrain );

🌸 ARGUMENTS 🌸

  • ap β€” the target ATA port πŸ‘‘ the one we're flagging, the main character of this whole operation
  • fastdrain β€” activate fast drain ⚑ yes/no vibes, it's a bool

πŸ’– DESCRIPTION πŸ’–

So here's the tea πŸ“: this function sets ATA_PFLAG_EH_PENDING and activates fast drain if fastdrain is non-zero and EH wasn't already pending before. Like, no double-flagging, that's not the vibe πŸ™ˆ

And what does fast drain even do? It ensures that EH kicks in in a timely manner ⏰ periodt. That's it, that's the whole personality.

πŸ”’ LOCKING πŸ”’

spin_lock_irqsave(host lock) β€” lock it down, bestie, no cap. You gotta be holding the host lock for this one πŸ’€


🌈 SEE ALSO 🌈

Kernel file ./drivers/ata/libata-eh.c β€” and like, the entire extended friend group of libata error-handling functions. Buckle up, this list is long but every single one is iconic in her own way 🫢


and that's the whole page, bestie!! πŸ’œ no notes, she ate. this lil writeup lives under ./drivers/ata in the Kernel API Manual, dated October 2026, and it's signed ata_eh_set_pending(9) β€” okay love you bye πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from