libnvme(2)

πŸ’– NAME πŸ’–

enum nvme_mi_resp_status β€” bestie, this is the lineup of values for the response status field. That's it, that's the whole vibe. πŸ¦‹

And jsyk this whole thing lives in the API Manual for libnvme, section 2. Okay so let's get into it.


✨ SYNOPSIS ✨

Okay so here's the enum, character-for-character, no cap:

enum nvme_mi_resp_status {
    NVME_MI_RESP_SUCCESS ,
    NVME_MI_RESP_MPR ,
    NVME_MI_RESP_INTERNAL_ERR ,
    NVME_MI_RESP_INVALID_OPCODE ,
    NVME_MI_RESP_INVALID_PARAM ,
    NVME_MI_RESP_INVALID_CMD_SIZE ,
    NVME_MI_RESP_INVALID_INPUT_SIZE ,
    NVME_MI_RESP_ACCESS_DENIED ,
    NVME_MI_RESP_VPD_UPDATES_EXCEEDED ,
    NVME_MI_RESP_PCIE_INACCESSIBLE ,
    NVME_MI_RESP_MEB_SANITIZED ,
    NVME_MI_RESP_ENC_SERV_FAILURE ,
    NVME_MI_RESP_ENC_SERV_XFER_FAILURE ,
    NVME_MI_RESP_ENC_FAILURE ,
    NVME_MI_RESP_ENC_XFER_REFUSED ,
    NVME_MI_RESP_ENC_FUNC_UNSUP ,
    NVME_MI_RESP_ENC_SERV_UNAVAIL ,
    NVME_MI_RESP_ENC_DEGRADED ,
    NVME_MI_RESP_SANITIZE_IN_PROGRESS

};

Nineteen little guys. Every single one. Let's meet them 🫢


πŸŽ€ Constants πŸŽ€

  • NVME_MI_RESP_SUCCESS β€” success. The main character, the moment we've all been waiting for. πŸ’…
  • NVME_MI_RESP_MPR β€” More Processing Required. Not done yet bestie, hold on, it's still cooking. πŸ“
  • NVME_MI_RESP_INTERNAL_ERR β€” Internal Error. It's giving "I did this to myself." 😭
  • NVME_MI_RESP_INVALID_OPCODE β€” Invalid command opcode. Wrong move, that opcode is not on the guest list.
  • NVME_MI_RESP_INVALID_PARAM β€” Invalid command parameter. The parameter did a vibe check and failed. πŸ’€
  • NVME_MI_RESP_INVALID_CMD_SIZE β€” Invalid command size. Too big, too small, just not the right size.
  • NVME_MI_RESP_INVALID_INPUT_SIZE β€” Invalid command input data size. Same energy but specifically about the input data, iykyk.
  • NVME_MI_RESP_ACCESS_DENIED β€” Access Denied. 🚫 You are not on the list, respectfully.
  • NVME_MI_RESP_VPD_UPDATES_EXCEEDED β€” More VPD updates than allowed. Over the limit fr fr.
  • NVME_MI_RESP_PCIE_INACCESSIBLE β€” PCIe functionality currently unavailable. It's just not available rn, check back later. πŸ™ˆ
  • NVME_MI_RESP_MEB_SANITIZED β€” MEB has been cleared due to sanitize. Gone, wiped, no notes.
  • NVME_MI_RESP_ENC_SERV_FAILURE β€” Enclosure services process failed. The enclosure services process said "not today." 😭
  • NVME_MI_RESP_ENC_SERV_XFER_FAILURE β€” Transfer with enclosure services failed. The transfer ghosted us entirely.
  • NVME_MI_RESP_ENC_FAILURE β€” Unreoverable enclosure failure. This one is serious, it's an unrecoverable enclosure failure, there is no coming back from this one. πŸ’€
  • NVME_MI_RESP_ENC_XFER_REFUSED β€” Enclosure services transfer refused. Literally refused. The audacity.
  • NVME_MI_RESP_ENC_FUNC_UNSUP β€” Unsupported enclosure services function. Not a thing we do, sorry babe. πŸ™…
  • NVME_MI_RESP_ENC_SERV_UNAVAIL β€” Enclosure services unavailable. Nobody's home. 🌸
  • NVME_MI_RESP_ENC_DEGRADED β€” Noncritical failure detected by enc. services. It's noncritical so like… breathe, but the enclosure services did clock a failure. πŸ‘€
  • NVME_MI_RESP_SANITIZE_IN_PROGRESS β€” Command prohibited during sanitize. Do NOT try it while the sanitize is happening, the command is prohibited, periodt. βœ‹

Friendly lil reminder bestie: several of these are straight-up failures and a couple of them mean a process or transfer got rejected or refused. If you see NVME_MI_RESP_ENC_FAILURE in the wild, that's an unrecoverable enclosure failure β€” not a drill. πŸ’–

🌈 SEE ALSO 🌈

Okay so, the original page doesn't list any SEE ALSO references here. Go read the rest of the libnvme API manual, that's the move. πŸ’…


Alright that's the whole page, mwah. Written for enum nvme_mi_resp_status in the libnvme(2) API Manual, dated July 2026. Slay, go forth and check your response status fields, bestie. πŸ‘‘ βœ¨πŸ¦‹πŸ’–

πŸ“¦ where this page comes from