libnvme(9)
π libnvme(9) β API Manual π
okay bestie, buckle up, because today we're looking at one specific little struct from the libnvme API Manual and honestly? she's giving "spreadsheet but make it NVMe" πβ¨
πΈ NAME πΈ
struct nvme_id_ns_granularity_list β Namespace Granularity List
like, literally the struct that holds the list. that's her. that's the whole vibe. π
β¨ SYNOPSIS β¨
struct nvme_id_ns_granularity_list {
__le32 attributes;
__u8 num_descriptors;
__u8 rsvd5[27];
struct nvme_id_ns_granularity_desc entry[NVME_ID_ND_DESCRIPTOR_MAX];
__u8 rsvd1056[3040];
};
no cap, that's the entire shape of her. look at those reserved arrays just... reserving. iconic behavior honestly π«Ά
π Members π
attributesβ Namespace Granularity Attributes. the attributes field, out here holding the granularity attributes for the namespace. main character energy βnum_descriptorsβ Number of Descriptors. literally tells you how many descriptors there are. she said "count them" and then gave you the count π’πrsvd5β reserved. not for you, bestie. hands off πentryβ Namespace Granularity Descriptor. this is an array ofstruct nvme_id_ns_granularity_desc, sizedNVME_ID_ND_DESCRIPTOR_MAXβ that's where the actual descriptor entries live πrsvd1056β reserved. again. reserved. leave her alone π
quick vibe check:attributesis__le32(little-endian, iykyk),num_descriptorsis a single__u8,rsvd5is__u8 rsvd5[27], andrsvd1056is a big ol'__u8 rsvd1056[3040]. fr fr, those numbers are exact β don't go editing them π
and that's the whole page, bestie π nothing skipped, nothing invented, every field accounted for like a responsible queen π
kisses, this was the libnvme(9) page from the API Manual, dated October 2026 β struct nvme_id_ns_granularity_list and friends, signing off ππ¦
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms