nvme_mi_admin_get_log(2)

πŸ’– nvme_mi_admin_get_log β€” the libnvme API manual, section 2, bestie edition πŸ’–

okay so picture this: you're talking to a controller, and you want its log page data. That's it, that's the whole thing. This is nvme_mi_admin_get_log, from the libnvme API manual, and she serves.


✨ NAME ✨

nvme_mi_admin_get_log β€” retrieve log page data from controller 🫢


🌸 SYNOPSIS 🌸

int nvme_mi_admin_get_log (nvme_mi_ctrl_t ctrl , struct
       nvme_get_log_args *args );

πŸŽ€ ARGUMENTS πŸŽ€

  • ctrl β€” the controller you're querying. your girl. your target. πŸ’…
  • args β€” the Get Log Page command arguments, aka all the deets for the command.

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so what it actually does: it performs a Get Log Page Admin command exactly as specified by args. 😌

The response data lands in args->data, and heads up bestie β€” that buffer should be args->data_len bytes long. Then, once the command completes successfully, the resulting data length gets stored in args->data_len. So like, it writes back into you. iconic behavior honestly. ✨

Here's the juicy part: this request may be implemented as multiple log page commands, in order to fit within MI message-size limits. so she'll split herself up if she has to, no big deal, main character energy fr fr. πŸ’ƒ

See: struct nvme_get_log_args πŸ‘€


πŸ‘‘ RETURN πŸ‘‘

  • If a response was received, you get the nvme command status β€” peep enum nvme_status_field for that one.
  • Otherwise: -1 with errno set. 😭 that's the sad path, no cap.

🌈 SEE ALSO 🌈

  • struct nvme_get_log_args
  • enum nvme_status_field

lowkey important: the multiple-commands thing and the MI message-size limits are real, so don't be shocked if one call turns into a lil committee of calls. that's by design. πŸ’–

that's the whole page bestie, mwah πŸ’‹ this was the nvme_mi_admin_get_log page from the libnvme API manual, and that footer energy was dated July 2026 β€” so yes, she's fresh, she's current, she ate. πŸŽ€πŸ’…βœ¨

πŸ“¦ where this page comes from