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 a 4 KiB random 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 (rsvd4 and rsvd48) 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