NVME-CONFIG-STATUS(1) NVMe Manual NVME-CONFIG-STATUS(1)

nvme-config-status - Report legacy NVMe-oF config.json/discovery.conf conversion status

nvme [<global-options>] config status

Reports the on-disk state of the legacy pre-3.0 configuration files, /etc/nvme/config.json and /etc/nvme/discovery.conf, and of the *.converted marker nvme config convert leaves next to each one it converts. This command never modifies or converts anything; it only reports state.

One line is printed for each legacy file that has something to report:

present, not yet converted — the file exists and has never been converted.
present, already converted — the file exists and a <file>.converted marker (a symlink pointing back at the file itself, left in place deliberately so a rollback to a pre-INI installation still finds the original legacy file) confirms it was converted. Both the file and the marker can be deleted once rollback is no longer a concern.
not present (a stale marker exists) — the file is gone but its <file>.converted marker is still there, dangling. This is left over from an earlier conversion and is always safe to delete.

A file with neither itself nor a marker present is silently skipped — there is nothing to say about it. If this is true of both config.json and discovery.conf, a single no legacy configuration found line is printed instead of two silent files and no output at all.

Because the marker is a symlink keyed on the file’s path, not its content, a file that is deleted and later replaced by a different, never-converted file at the same path (for example, a package rollback followed by a reinstall) makes the marker resolve again even though the new file itself was never converted. This command does not try to detect that case — when a file and a resolving marker are both present, it adds a note that the marker may be stale and the file’s contents should be verified against the INI configuration, so a human can decide. Use nvme config convert if in doubt: converting an already-converted file is a safe no-op.

The following options are defined at the top-level nvme command and are available to this subcommand:

--dry-run

Print the command that would be executed, but do not actually execute it.

--no-ioctl-probing

Disable probing for 64-bit IOCTL support.

--no-retries

Disable retry logic on transient errors.

-o <fmt>, --output-format=<fmt>

Set the reporting format to normal, tabular, 'json, or binary. Only one output format may be used at a time.

--output-format-version=<version>

Select the output format version. Version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names.

--timeout=<ms>

Set the timeout for the command in milliseconds.

-v, --verbose

Increase the level of detail in the output. May be specified multiple times to further increase verbosity.

These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.

Returns 0 if neither legacy file has anything to report. Returns a non-zero status if config.json or discovery.conf, or a .converted marker for either, is present — regardless of which of the states listed above applies. Use the printed output, not the exit status, to tell those states apart.

•Check the system’s legacy configuration state, config.json already converted and no discovery.conf ever present:
# nvme config status
/usr/local/etc/nvme/config.json: present, already converted (/usr/local/etc/nvme/config.json.converted exists) -- delete both once rollback is no longer a concern
note: if /usr/local/etc/nvme/config.json was replaced after conversion (for example, a package rollback followed by reinstall), this marker may be stale; verify its contents against the INI configuration before deleting either file
•Check a system that never had a legacy configuration:
# nvme config status
no legacy configuration found; nothing to convert

nvme-config-convert(1) nvme-config-show(1) nvme-config-validate(1) nvme-connect-all(1) nvme-discover(1) https://github.com/linux-nvme/nvme-cli/blob/master/libnvme/design/CONFIG.md

Part of the nvme-user suite

09/07/2026 NVMe