libnvme(9)
okay so bestie, welcome to libnvme(9) β the API manual page for this one enum, and it's giving βsmall but iconicβ energy β¨. let's get into it π
π NAME π
enum nvme_id_ns_flbas β this field is literally the whole vibe check for the LBA data size & metadata size combination that the namespace has been formatted with π.
β¨ SYNOPSIS β¨
the layout is exactly this, no cap:
enum nvme_id_ns_flbas {
NVME_NS_FLBAS_LOWER_SHIFT ,
NVME_NS_FLBAS_LOWER_MASK ,
NVME_NS_FLBAS_META_EXT ,
NVME_NS_FLBAS_HIGHER_SHIFT ,
NVME_NS_FLBAS_HIGHER_MASK
};
π Constants π
here's the full breakdown of every constant, bestie β don't skip a single one π«Ά
NVME_NS_FLBAS_LOWER_SHIFTβ shift to get the lower4bits of LBA format index πΈNVME_NS_FLBAS_LOWER_MASKβ mask to get the index of one of the supported LBA Formats's least significant4bitsindicated in:c:type:`struct nvme_id_ns <nvme_id_ns>`.lbafπNVME_NS_FLBAS_META_EXTβ applicable only if format contains metadata. if this bit is set, it indicates that the metadata is transferred at the end of the data LBA, creating an extended data LBA. if cleared, it indicates that all of the metadata for a command is transferred as a separate contiguous buffer of data π¦NVME_NS_FLBAS_HIGHER_SHIFTβ shift to get the higher2bits of LBA format index βNVME_NS_FLBAS_HIGHER_MASKβ mask to get the index of one of the supported LBA Formats's most significant2bitsindicated in:c:type:`struct nvme_id_ns <nvme_id_ns>`.lbafπ
and that's the whole page, bestie π this cutie comes from the libnvme(9) manual, source/version enum nvme_id_ns_flbas, dated October 2026 β periodt ππ
π¦ 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