libnvme(2)
π NAME π
struct nvme_change_ns_event β the Change Namespace Event Data vibe. it's the little blob of info that tells you a namespace just Went Through Something, bestie. this is from the libnvme(2) API manual, iykyk.
β¨ SYNOPSIS β¨
okay so here's the whole shape of it, no cap, copied exactly:
struct nvme_change_ns_event {
__le32 nsmgt_cdw10;
__u8 rsvd4[4];
__le64 nsze;
__u8 rsvd16[8];
__le64 nscap;
__u8 flbas;
__u8 dps;
__u8 nmic;
__u8 rsvd35;
__le32 ana_grp_id;
__le16 nvmset_id;
__le16 rsvd42;
__le32 nsid;
};
she's little. she's stacked. she's got reserved padding sprinkled through her like confetti π
π¦ Members π¦
every field, one by one, and yes i'm giving each one its moment:
nsmgt_cdw10β Namespace Management CDW10. it's a__le32, she's the command dword and she's tiny-endian, so watch your byte order bestie πrsvd4β Reserved. a__u8[4]. literally just vibes and empty space, do not touch her πnszeβ Namespace Size.__le64. how big the namespace is. main character measurement energy β¨rsvd16β Reserved again.__u8[8]. more padding. she's there to keep everything lined up and pretty πnscapβ Namespace Capacity.__le64. size and capacity are different things, ngl, that's the whole personality of this struct π₯flbasβ Formatted LBA Size. one lil__u8. it's giving "how big is one block" πdpsβ End-to-end Data Protection Type Settings.__u8. protection, but make it end-to-end π‘οΈnmicβ Namespace Multi-path I/O and Namespace Sharing Capabilities.__u8. that's a long name for one single byte and honestly? iconic πrsvd35β Reserved.__u8. just one byte of silence. respect her space π€«ana_grp_idβ ANA Group Identifier.__le32. ANA group stuff iykyk, little-endian as always πnvmset_idβ NVM Set Identifier.__le16. which NVM set are we in bestie πΈrsvd42β Reserved.__le16. yes again. there are a lot of reserved fields here and that's just her truth πnsidβ Namespace ID.__le32. the actual star of the show, the one you've been waiting for β
just a heads up: all those rsvd* fields are Reserved fr fr β don't read meaning into them, don't write meaning into them, just let them be. they're structural, not informative π
okay that's the whole page bestie. this is struct nvme_change_ns_event, out of the libnvme(2) API manual, and it was last dated July 2026. hope your namespaces change in the most uneventful way possible π«Ά bye pookie π
π¦ 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