libnvme(9)
π libnvme(9) β the API Manual, but make it a group chat π
okay so bestie, welcome to libnvme(9), the API manual β¨ and today's main character is one very specific struct. she's a little chunky, she's got a lot of __le32 energy, and honestly? she ate. let's get into it π«Ά
β¨ NAME β¨
struct nvme_nvm_id_ns β the NVME Command Set I/O Command Set Specific Identify Namespace Data Structure πΈ
like, that's her full government name. yes it's a mouthful. no we're not shortening it. periodt π
π¦ SYNOPSIS π¦
here's the whole vibe, verbatim, no cap:
struct nvme_nvm_id_ns {
__le64 lbstm;
__u8 pic;
__u8 pifa;
__u8 rsvd10[2];
__le32 elbaf[64];
__le32 npdgl;
__le32 nprg;
__le32 npra;
__le32 nors;
__le32 npdal;
__le32 lbapss;
__le32 tlbaag;
__u8 rsvd296[3800];
};
not me counting the paddingβ¦ there's rsvd10[2] early on and then rsvd296[3800] at the end, so she is mostly reserved space lowkey π the real ones are hiding in there and that's the whole point of the struct. iykyk.
π Members π
okay this is the actual tea β every single field, in order, with her little one-liner. don't skip a single one, bestie, they all matter:
lbstmβ Logical Block Storage Tag Mask β¨ (__le64, so she's the big one at the top, main character energy fr)picβ Protection Information Capabilities πpifaβ Protection Information Format Attribute πrsvd10β Reserved π (__u8[2], likeβ¦ she's just holding space, we love a generous queen)elbafβ List of Extended LBA Format Support π and yes she's an array β__le32[64]β sixty-four of them, obsessednpdglβ Namespace Preferred Deallocate Granularity Large π₯nprgβ Namespace Preferred Read Granularity βnpraβ Namespace Preferred Read Alignment π¦norsβ Namespace Optimal Read Size πΈnpdalβ Namespace Preferred Deallocate Alignment Large πlbapssβ LBA Format Placement Shard Size πtlbaagβ Tracked LBA Allocation Granularity πrsvd296β Reserved π (__u8[3800]β three thousand eight hundred bytes of pure "no thoughts head empty" and honestly? relatable)
ngl bestie, the two Reserved fields are just padding β they exist to keep the layout right, so don't go reading anything into them, okay? they're not hiding secrets, they're just vibing π«Ά
and that's the whole page! no flags, no exit statuses, no environment variables β just one struct and her twelve fields, slaying in a fixed order π
sign-off time π§ this little love letter to struct nvme_nvm_id_ns is from the libnvme(9) manual β the API Manual, dated October 2026 β and she's out πβ¨ππ¦ bye bestie, go interrogate some namespaces for me π
π¦ 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