libnvme(9)

πŸ’– libnvme(9) β€” API Manual πŸ’–

okay bestie, welcome to the libnvme glow-up tour, section 9, API Manual edition. today's main character is a struct, and she is serving. let's get into it 🫢


✨ NAME ✨

struct nvme_resv_acquire_args β€” the args you hand over for the NVMe Reservation Acquire Command. that's it, that's the whole vibe. no cap.


🌸 SYNOPSIS 🌸

struct nvme_resv_acquire_args {
    __u64 crkey;
    __u64 nrkey;
    __u32 *result;
    int args_size;
    int fd;
    __u32 timeout;
    __u32 nsid;
    enum nvme_resv_rtype rtype;
    enum nvme_resv_racqa racqa;
    bool iekey;
 };

look at her. ten fields. absolutely iconic ✨


πŸŽ€ Members πŸŽ€

she's got a whole roster, so let's meet the cast one by one, no skipping, we do not skip in this house πŸ’…

  • crkey β€” the current reservation key that's chillin' with the host. the one you already have, basically.
  • nrkey β€” the reservation key that gets unregistered from the namespace, but ONLY if the action is preempt. not preempting? then this one's just sitting there. πŸ™ˆ
  • result β€” the command completion result, straight outta CQE dword0. the receipts, fr fr.
  • args_size β€” the size of struct nvme_resv_acquire_args. she knows her own measurements πŸ’…
  • fd β€” file descriptor of the nvme device. your ticket in.
  • timeout β€” timeout in ms. patience, but make it measurable ⏳
  • nsid β€” namespace identifier. which namespace are we talking to? be specific bestie.
  • rtype β€” the type of reservation to be create, see enum nvme_resv_rtype. (the original says "create", we're keeping it, it's part of her charm 😭)
  • racqa β€” the action that is performed by the command, see enum nvme_resv_racqa. the "what are we actually doing here" field.
  • iekey β€” set this to ignore the existing key. yes, ignore it. she said what she said. πŸ’€
lowkey important: rtype and racqa are enums, so go read enum nvme_resv_rtype and enum nvme_resv_racqa before you start guessing values. don't freestyle a reservation command, bestie, that's not the move πŸ™

that's the whole page, and you ate it. go forth and acquire those reservations responsibly πŸ¦‹

signing off with love from the libnvme crew β€” API Manual, page struct nvme_resv_acquire_args, dated August 2026. mwah πŸ’–

πŸ“¦ where this page comes from