libnvme(9)
π NAME π
struct nvme_resv_register_args β the little argument bundle you hand over for the NVMe Reservation Register command π
Okay so bestie, real talk: this is the API manual for libnvme, and this page is all about one struct. One. Single. Struct. And she is important. If you're doing reservation stuff on an NVMe namespace, this is the glow-up container that carries everything the kernel needs. No cap. π
β¨ SYNOPSIS β¨
struct nvme_resv_register_args {
__u64 crkey;
__u64 nrkey;
__u32 *result;
int args_size;
int fd;
__u32 timeout;
__u32 nsid;
enum nvme_resv_rrega rrega;
enum nvme_resv_cptpl cptpl;
bool iekey;
};
Look at her. Ten fields, zero notes, all business. Copy it exactly, don't freestyle it. π
πΈ Members πΈ
crkeyβ the current reservation key that's associated with the host. Like, the key you already have. The one you walked in with. πnrkeyβ the new reservation key that gets registered, but only if the action is register or replace. So ifrregaisn't doing one of those two things, this field is just sitting there, gorgeous and unemployed. πresultβ the command completion result straight out of CQE dword0. That's where the kernel drops the tea back to you. π«args_sizeβ the size ofstruct nvme_resv_register_args. Yes, she's measuring herself. Self-aware queen. πfdβ the file descriptor of the nvme device. Your ticket in. ποΈtimeoutβ the timeout, in ms. Milliseconds. Don't @ me. β³nsidβ the namespace identifier. Which namespace are we talking about, bestie? This one. πrregaβ the registration action, seeenum nvme_resv_rrega. This is the "what are we even doing here" field. π―cptplβ change persist through power loss, seeenum nvme_resv_cptpl. Will your reservation survive the lights going out? That's her department. β‘iekeyβ set this to ignore the existing key. Just pretend it's not there. Iconic behaviour, honestly. π
Heads up bestie:rregaandcptplare enums, so please go readenum nvme_resv_rregaandenum nvme_resv_cptplbefore you start guessing values. I'm not gonna make up numbers for you, that's not the vibe. π
And that's the whole page, fr fr. This was the API Manual for libnvme, page libnvme(9), dated August 2026. Stay slay, keep your keys current, and go register some reservations. π¦πβ¨
π¦ where this page comes from
- fedora 44: libnvme-doc 1.16.2-1.fc44 Β· 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