libnvme(2)
π libnvme(2) β API Manual π
okay so bestie, you're in the libnvme manual, section 2 β the API pages, the deep lore. and today's main character is a struct that's lowkey about how your drive organises its garbage collection. no cap. π¦
β¨ NAME β¨
struct nvme_fdp_config_desc β FDP Configuration Descriptor
like, it's the descriptor that tells you how a Flexible Data Placement config is set up. it's giving "here's the map of the reclaim groups, bestie." πΊοΈ
πΈ SYNOPSIS πΈ
struct nvme_fdp_config_desc {
__le16 size;
__u8 fdpa;
__u8 vss;
__le32 nrg;
__le16 nruh;
__le16 maxpids;
__le32 nnss;
__le64 runs;
__le32 erutl;
__u8 rsvd28[36];
struct nvme_fdp_ruh_desc ruhs[];
};
look at her. she's structured. she's iconic. π
π Members π
sizeβ the descriptor size. how big she is. that's it, that's the girl. πfdpaβ FDP Attributes, and it's anenum nvme_fdp_config_fdpa, so you already know it's a little menu of vibes you pick from. β¨vssβ Vendor Specific Size. the space the vendor reserved to do vendor things. mysterious. we respect it. πnrgβ Number of Reclaim Groups. that's how many reclaim groups there are, fr fr. πnruhβ Number of Reclaim Unit Handles. yes, handles. plural. we love a girl with options. π«Άmaxpidsβ Max Placement Identifiers. the ceiling on placement IDs, and you should not try to exceed it. πnnssβ Number of Namespaces Supported. how many namespaces this config can hold down at once. the capacity for friendship, honestly. πrunsβ Reclaim Unit Nominal Size. nominal size of a reclaim unit. literal queen of measurements. βerutlβ Estimated Reclaim Unit Time Limit. estimated, bestie β estimated β so don't treat it like a promise. β³rsvd28β Reserved. hands off. do not touch. not yours. π«ruhsβ Reclaim Unit Handle descriptors, and they'restruct nvme_fdp_ruh_desc. it's a flexible array member, so there are as many of these as the descriptor says there are. she goes on forever, lowkey. π§
heads up bestie: this whole struct is little-endian fields (__le16,__le32,__le64) β if you're reading these raw on a big-endian box you're gonna have a bad time. byte-swap before you trust a single number. π
π¦ SEE ALSO π¦
there's genuinely no SEE ALSO section here, bestie. the original said nothing. i'm not gonna make something up. that would be lying and we don't lie in this house. π
okay that's the whole page, we ate and left no crumbs. π
this was struct nvme_fdp_config_desc out of the libnvme API Manual, dated July 2026 β go forth and configure your FDP, bestie, and remember: reserved means reserved. πβ¨π«Ά
π¦ 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