libnvme(2)
π libnvme(2) β API Manual π
okay bestie, welcome to the libnvme API manual, this is a C struct page and honestly? she's serving storage-spec realness. sit down, grab a strawberry latte π, and let's get into it.
β¨ NAME β¨
struct nvme_nvmset_attr β NVM Set Attributes Entry
like, that's the whole vibe. one struct. one purpose. iconic behavior π
πΈ SYNOPSIS πΈ
struct nvme_nvmset_attr {
__le16 nvmsetid;
__le16 endgid;
__u8 rsvd4[4];
__le32 rr4kt;
__le32 ows;
__u8 tnvmsetcap[16];
__u8 unvmsetcap[16];
__u8 rsvd48[80];
};
that's her. that's the struct. no cap β¨ copy it exactly, don't you dare touch the field order, the padding bytes are load-bearing fr fr.
π¦ Members π¦
so here's the field-by-field tea, one by one, nothing skipped, we keep EVERYTHING:
nvmsetidβ NVM Set Identifier πendgidβ Endurance Group Identifier πrsvd4β Reserved (not yours, don't touch, it's just sitting there being mysterious π)rr4ktβ Random 4 KiB Read Typical π― this one literally indicates the typical time to complete a4 KiBrandom read in 100 nanosecond units when the NVM Set is in a Predictable Latency Mode Deterministic Window and there is 1 outstanding command per NVM Set. like. that's such a specific situation and she's telling you about it anyway. queen shit.owsβ Optimal Write Size π«tnvmsetcapβ Total NVM Set Capacity πunvmsetcapβ Unallocated NVM Set Capacity πrsvd48β Reserved (again with the reserved bytes, they're just vibing, leave them alone π«Ά)
lowkey reminder bestie: the reserved fields (rsvd4andrsvd48) are reserved. that's not a suggestion, that's the assignment. do not put your little ideas in there. π
stay hydrated, respect the padding, and go read the spec if you want more lore β this page is from the libnvme API Manual, struct nvme_nvmset_attr, dated July 2026. mwah, bye babes! π
β¨π¦π
π¦ 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