libnvme(2)
β¨ NAME β¨
okay so bestie, welcome to the libnvme(2) API manual π and today's main character is literally this struct:
struct nvme_reachability_group_desc β the Reachability Group Descriptor π¦
that's it. that's the whole vibe. it's a descriptor. for reachability groups. slay.
π SYNOPSIS π
struct nvme_reachability_group_desc {
__le32 rgid;
__le32 nnid;
__le64 chngc;
__u8 rsvd16[16];
__le32 nsid[];
};
no cap, that's the whole struct. look at her. she's iconic π
π Members π
rgidβ the Reachability Group ID. it's the group's whole identity fr fr, like her name tag at the function β¨ (type:__le32, little-endian, don't come for me)nnidβ Number of NSID Values. yes bestie, it counts how many NSIDs are in the list. it's giving "I keep track of the guest list" πchngcβ Change Count. the way this field just... counts changes π it's__le64so it's got room to grow, periodtrsvd16β Reserved. it's__u8 rsvd16[16], sixteen whole bytes of "mind your business" π do not touch, do not look at her, she is reserved for a reasonnsidβ Namespace Identifier List. a flexible array member (__le32 nsid[]) full of NSIDs, living her best life at the end of the struct where flexible arrays go πΈ
ngl bestie, rsvd16 is reserved β meaning leave it alone. zero it, ignore it, don't invent meaning for it. the spec said reserved and the spec meant it π
and that's the whole struct, mwah π«Ά go forth and parse responsibly, and remember: little-endian fields are still little-endian even when you're being iconic β
this has been the libnvme(2) API Manual, struct nvme_reachability_group_desc edition, dated July 2026, from libnvme(2) π tysm for reading, ily, bye bestie πβ¨
π¦ 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