NVME-ID-NVM-NS-L(1)
π NAME π
ok so bestie, this is nvme-id-nvm-ns-lba-format β the manual page for it lives in the nvme-id-nvm-ns-l(1) section, and what it does is literally send the NVMe Identify NVM Command Set specific Namespace data structure for whichever LBA format you point at, then shows you the structure. that's the whole vibe. π
β¨ SYNOPSIS β¨
nvme [<global-options>] id nvm-ns-lba-format <device>
[--uuid-index=<uuid-index> | -U <uuid_index>]
[--lba-format-index=<lba_format_index> | -i <lba_format_index>]
like, that's the shape of it. <device> is not optional, no cap. π«Ά
πΈ DESCRIPTION πΈ
okay so what's actually happening: this identifies the NVM Command Set specific Namespace data structure for the LBA format index you specify, for the NVM Command Set that's declared in the CSI field. iconic behavior honestly.
The <device> parameter is mandatory β you cannot skip it, it's giving main character. and it can be either:
- the NVMe character device, ex:
/dev/nvme0 - or a namespace block device, ex:
/dev/nvme0n1
On success, the structure comes back to you in one of several ways depending on which option flags you used π β either the program parses the structure for you, or the raw buffer gets printed straight to stdout. your choice, bestie.
π₯ OPTIONS π₯
-U <uuid-index>,--uuid-index=<uuid-index>β the UUID Index of the feature. that's it, that's the whole thing π-i <lba_format_index>,--lba-format-index=<lba_format_index>β this field specifies the index into the LBA Format list identifying which LBA Format capabilities are gonna be returned. iykyk β
π GLOBAL OPTIONS π
these ones are defined up at the top-level nvme command, so they're available to this subcommand too. they trickle down, periodt:
--dry-runβ prints the command that would be executed but does not actually execute it. all the vibes, none of the consequences π--no-ioctl-probingβ disables probing for 64-bit IOCTL support.--no-retriesβ disables the retry logic on transient errors.-o <fmt>,--output-format=<fmt>β sets the reporting format tonormal,tabular,'json, orbinary. (yes, that apostrophe is really in there β copy it exactly, don't @ me π) only one output format may be used at a time.--output-format-version=<version>β selects the output format version. version1uses the original field naming, while version2(the default) provides more consistent and script-friendly field names. any other versions get rejected, sorry bestie π«--quietβ suppresses informational messages. errors are still reported, and--quietcancels any--verbosefor the library log level. quiet is quiet, she said what she said.--set-options=<key=value>[,<key=value>...]β sets libnvme library options for this invocation. the supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir.--timeout=<ms>β sets the timeout for the command in milliseconds.infiniteor-1waits without a time limit (0xffffffff). she'll wait forever if you ask nicely π-v,--verboseβ increases the level of detail in the output. may be specified multiple times to further increase verbosity. stack it, honey π
also important: these options can be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file. no exceptions, that's the law π«‘
π EXAMPLES π
- have the program interpret the returned buffer and display the known fields in a human readable format:
# nvme id nvm-ns-lba-format /dev/nvme0n1 -i 0
- have the program return the raw structure in binary:
# nvme id nvm-ns-lba-format /dev/nvme0 -i 0 -o binary > nvm_id_ns.raw
# nvme id nvm-ns-lba-format /dev/nvme0n1 -i 0 --output-format=binary > nvm_id_ns.raw
look at that redirect. gorgeous. π¦
π§ NVME π§
part of the nvme-user suite π
okay bye bestie, go identify some namespaces πβ¨ this page came to you from the NVMe manual, dated 10/30/2026 β slay, and see you in the next one ππ«Ά
π¦ 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