libnvme(9)

πŸ’– NAME πŸ’–

okay bestie, so like β€” struct nvme_dev_self_test_args is literally the little argument bundle you hand over when you wanna run the NVMe Device Self Test command. that's it, that's the whole vibe. ✨


🌸 SYNOPSIS 🌸

struct nvme_dev_self_test_args {
    __u32 *result;
    int args_size;
    int fd;
    __u32 timeout;
    __u32 nsid;
    enum nvme_dst_stc stc;
 };

πŸŽ€ Members πŸŽ€

here's the tea on every single field, no skipping, i would never 🫢

  • result β€” this one's where the command completion result lands, straight from CQE dword0. it's a pointer, so like, it points at the tea. πŸ’…
  • args_size β€” the size of struct nvme_dev_self_test_args. yes it's telling you how big it is. iconic self-awareness honestly. ✨
  • fd β€” file descriptor of the nvme device. your little handle to the actual thing. πŸ”‘
  • timeout β€” timeout in ms. milliseconds bestie, so don't go thinking it's seconds and then get all surprised. 😭
  • nsid β€” Namespace ID to test. that's which namespace is getting the self-test glow-up. 🌈
  • stc β€” Self test code, see enum nvme_dst_stc. go peek at that enum for the actual codes, i'm not gonna make them up for you. πŸ‘‘

lowkey the whole struct is just "here's my device, here's my namespace, here's the test i want, here's how long i'm willing to wait" and honestly? relatable main character energy. 🌟

and that's the page!! this was the libnvme(9) API Manual situation, dated August 2026, and the page was all about struct nvme_dev_self_test_args the whole time. mwah, love u, go run a self test responsibly. πŸ’–πŸ¦‹πŸŒΈπŸ§šπŸ’œ

πŸ“¦ where this page comes from