libnvme(2)
π NAME π
struct nvme_get_discovery_args β the lil argument bundle you hand over to nvmf_get_discovery_wargs() β¨
So like, this is a page from the libnvme API Manual, bestie, and we're talking about one very specific struct. Sit with me. π«Ά
β¨ SYNOPSIS β¨
struct nvme_get_discovery_args {
nvme_ctrl_t c;
int args_size;
int max_retries;
__u32 *result;
__u32 timeout;
__u8 lsp;
};
Look at her. Six fields. Gorgeous. No notes. π
π Members π
Okay okay okay, field-by-field, let's go β this is the part you actually came for, no cap:
cβ the Discovery controller. That's your girl. The ctrl you're doing the discovery thing against. πargs_sizeβ the length of the structure. Yes literally just how big this struct is. She's measuring herself. Iconic behaviour honestly.max_retriesβ how many times we're willing to retry if it, like, fails. Because sometimes things fail and we try again. Persistence! β¨resultβ the command completion result, straight from CQE dword0. That's where the answer comes back to you. π¦timeoutβ the timeout, in ms. Default isNVME_DEFAULT_IOCTL_TIMEOUT, so if you don't say anything she's got a default and she's sticking with it.lspβ the log specific field. Peepenum nvmf_log_discovery_lspfor the actual values, iykyk. π₯
fr fr: nothing spicy here, it's just a plain old arg struct β but every field matters and you should set them on purpose, not vibes-only. π
and that's the whole page, bestie!! ππ
This was struct nvme_get_discovery_args from the libnvme API Manual, dated July 2026 β manual name libnvme(2), periodt. Go pass that struct to nvmf_get_discovery_wargs() and slay. ππ¦β¨π
π¦ where this page comes from
- ubuntu stonking: libnvme-dev 1.16.2-1build1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms