libnvme(2)

✨ NAME ✨

okay so bestie, welcome to libnvme β€” this page is literally all about enum nvme_status_result, aka the Result of the device self-test operation. that's it, that's the whole vibe πŸ’…


🌸 SYNOPSIS 🌸

enum nvme_status_result {
    NVME_ST_RESULT_NO_ERR ,
    NVME_ST_RESULT_ABORTED ,
    NVME_ST_RESULT_CLR ,
    NVME_ST_RESULT_NS_REMOVED ,
    NVME_ST_RESULT_ABORTED_FORMAT ,
    NVME_ST_RESULT_FATAL_ERR ,
    NVME_ST_RESULT_UNKNOWN_SEG_FAIL ,
    NVME_ST_RESULT_KNOWN_SEG_FAIL ,
    NVME_ST_RESULT_ABORTED_UNKNOWN ,
    NVME_ST_RESULT_ABORTED_SANITIZE ,
    NVME_ST_RESULT_NOT_USED ,
    NVME_ST_RESULT_MASK

};

πŸŽ€ Constants πŸŽ€

okay so here's the whole cast of characters, one by one, no skipping, we do not leave a single constant on read 🫢

  • NVME_ST_RESULT_NO_ERR β€” bestie the operation finished and nothing went wrong. no error, we ate, we're slaying ✨
  • NVME_ST_RESULT_ABORTED β€” a Device Self-test command came in and aborted the whole operation. it got interrupted, rip 😭
  • NVME_ST_RESULT_CLR β€” the operation got aborted by a Controller Level Reset. everything got reset mid-vibe, it's giving chaos πŸ’€
  • NVME_ST_RESULT_NS_REMOVED β€” the operation was aborted because a namespace got removed from the namespace inventory. they literally pulled the rug out from under it πŸ™ˆ
  • NVME_ST_RESULT_ABORTED_FORMAT β€” the operation was aborted because a Format NVM command was being processed. format said "not today" and the self-test had to go 🧚
  • NVME_ST_RESULT_FATAL_ERR β€” a fatal error or an unknown test error popped off while the controller was executing the device self-test operation, and the operation did not complete. not the ending we wanted, ngl πŸ’€
  • NVME_ST_RESULT_UNKNOWN_SEG_FAIL β€” the operation completed, but with a segment that failed β€” except we don't know which segment failed. mystery fail, no receipts πŸ”
  • NVME_ST_RESULT_KNOWN_SEG_FAIL β€” the operation completed with one or more failed segments, and the first segment that failed is indicated in the Segment Number field. okay so at least we know who did it πŸ’…
  • NVME_ST_RESULT_ABORTED_UNKNOWN β€” the operation was aborted and the reason is... unknown. genuinely no clue, it's giving mysterious 🌫️
  • NVME_ST_RESULT_ABORTED_SANITIZE β€” the operation was aborted because of a sanitize operation. sanitize said "move, I'm the main character" πŸ‘‘
  • NVME_ST_RESULT_NOT_USED β€” this entry isn't used at all, it does not contain a test result. empty, blank, nothing to see here πŸ«₯
  • NVME_ST_RESULT_MASK β€” a mask, bestie! it gets the status result value out of the struct nvme_st_result.dsts field. it's the little extraction tool that pulls the answer out of the struct ✨

k but fr fr, remember these are the only values, and NVME_ST_RESULT_MASK has one specific job: pulling the status result value out of that struct nvme_st_result.dsts field. don't use it for anything else, that's the whole point of it 🫢

and that's the page! this lil API manual moment, enum nvme_status_result, came from libnvme(2) and is dated July 2026 β€” version libnvme, baby. mwah, go read the source, ily πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from