| NVME-ID-NS-LBA-F(1) | NVMe Manual | NVME-ID-NS-LBA-F(1) |
NAME
nvme-id-ns-lba-format - Send NVMe Identify Namespace for the specified LBA Format index, display structure
SYNOPSIS
nvme [<global-options>] id ns-lba-format <device>
[--uuid-index=<uuid-index> | -U <uuid_index>]
[--lba-format-index=<lba_format_index> | -i <lba_format_index>]
DESCRIPTION
For the NVMe device given, sends an identify namespace for the specified LBA Format index command and provides the result that is include capability field only and returned structure.
The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).
On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout.
The bare nvme id-ns-lba-format form (without a space) still works as a deprecated alias and will be removed in a future major version. New scripts should use nvme id ns-lba-format instead.
OPTIONS
-U <uuid-index>, --uuid-index=<uuid-index>
-i <lba_format_index>, --lba-format-index=<lba_format_index>
GLOBAL OPTIONS
The following options are defined at the top-level nvme command and are available to this subcommand:
--dry-run
--no-ioctl-probing
--no-retries
-o <fmt>, --output-format=<fmt>
--output-format-version=<version>
--quiet
--set-options=<key=value>[,<key=value>...]
--timeout=<ms>
-v, --verbose
These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.
EXAMPLES
# nvme id ns-lba-format /dev/nvme0n1 -i 0
# nvme id ns-lba-format /dev/nvme0n1 -i 0 -o binary > id_ns.raw # nvme id ns-lba-format /dev/nvme0n1 -i 0 --output-format=binary > id_ns.raw
It is probably a bad idea to not redirect stdout when using this mode.
# nvme id ns-lba-format /dev/nvme0n1 -i 0 --raw-binary | nvme_parse_id_ns
The parse program in the above example can be a program that shows the structure in a way you like. The following program is such an example that will parse it and can accept the output through a pipe, '|', as shown in the above example, or you can 'cat' a saved output buffer to it.
/* File: nvme_parse_id_ns_lba_format.c */
#include <linux/nvme.h>
#include <stdio.h>
#include <unistd.h>
int main(int argc, char **argv)
{
unsigned char buf[sizeof(struct nvme_id_ns)];
struct nvme_id_ns *ns = (struct nvme_id_ns *)buf;
if (read(STDIN_FILENO, buf, sizeof(buf)))
return 1;
printf("nsze : %#llx\n", ns->nlbaf);
printf("ncap : %#llx\n", ns->mc);
return 0;
}
NVME
Part of the nvme-user suite
| 10/30/2026 | NVMe |