STRUCT NVDIMM_EFI_LABEL(9)
π struct nvdimm_efi_label(9) β namespace superblock π
okay so bestie, we're in the Kernel API Manual today and the main character is struct nvdimm_efi_label. It's literally the namespace superblock. That's it, that's the whole vibe. She's a label. She holds the metadata. She's iconic and she knows it. π
β¨ NAME β¨
struct nvdimm_efi_label β namespace superblock. no cap, that's literally what the man page says and we're not gonna argue with it π«Ά
πΈ SYNOPSIS πΈ
struct nvdimm_efi_label {
u8 uuid[NSLABEL_UUID_LEN];
u8 name[NSLABEL_NAME_LEN];
__le32 flags;
__le16 nlabel;
__le16 position;
__le64 isetcookie;
__le64 lbasize;
__le64 dpa;
__le64 rawsize;
__le32 slot;
u8 align;
u8 reserved[3];
guid_t type_guid;
guid_t abstraction_guid;
u8 reserved2[88];
__le64 checksum;
};
look at her. seventeen fields. she's serving structure realness π
π¦ Members π¦
time for the roll call, bestie, get your notes app open π
uuidβ the UUID per RFC 4122. yeah, the real one, not a knockoff πnameβ optional name, and it's NULL-terminated (so like, don't forget the\0or she'll keep reading past the end and it's gonna be a whole thing π)flagsβ go seeNSLABEL_FLAG_*for the details, iykyknlabelβ num labels to describe this ns. that's the number of labels doing the describing, fr frpositionβ labels position in set. she's gotta know her spot in the lineup πisetcookieβ interleave set cookie. a cookie!! π (technically it's an interleave set cookie but still)lbasizeβ LBA size in bytes, or0for pmem. zero means pmem, that's the rule, don't come for medpaβ DPA of NVM range on this DIMMrawsizeβ size of namespaceslotβ slot of this label in label areaalignβ physical address alignment of the namespacereservedβ reserved. she's reserved. respect her privacy πtype_guidβ a copy ofstruct acpi_nfit_system_address.range_guidabstraction_guidβ the personality id (btt,btt2,fsdax,devdax....). yes personality id, she contains multitudes β¨reserved2β reserved (again, still reserved, still not our business)checksumβ fletcher64 sum of this object. fletcher64 specifically. not fletcher32, not some other checksum, fletcher64, periodt π₯
π SEE ALSO π
the kernel file is ./drivers/nvdimm/label.h and honestly go read the whole friend group:
struct nd_namespace_index(9)struct cxl_region_label(9)struct nvdimm_cxl_label(9)struct nd_label_id(9)
lowkey a reminder:reservedandreserved2are literally named reserved. that's not a hint to get creative. leave them alone bestie π
and that's the page!! π§ from ./drivers/nvdimm, dated October 2026, in the Kernel API Manual β mwah, slay, go read some label structs, ily βπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms