'\" t
.\" Title: nvme-config-status
.\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 09/07/2026
.\" Manual: NVMe Manual
.\" Source: NVMe
.\" Language: English
.\"
.TH "NVME\-CONFIG\-STATUS" "1" "09/07/2026" "NVMe" "NVMe Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
nvme-config-status \- Report legacy NVMe\-oF config\&.json/discovery\&.conf conversion status
.SH "SYNOPSIS"
.sp
.nf
\fInvme\fR [] \fIconfig status\fR
.fi
.SH "DESCRIPTION"
.sp
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 \fI*\&.converted\fR marker \fInvme config convert\fR leaves next to each one it converts\&. This command never modifies or converts anything; it only reports state\&.
.sp
One line is printed for each legacy file that has something to report:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fIpresent, not yet converted\fR \(em the file exists and has never been converted\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fIpresent, already converted\fR \(em the file exists and a
\fI\&.converted\fR
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\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fInot present (a stale marker exists)\fR \(em the file is gone but its
\fI\&.converted\fR
marker is still there, dangling\&. This is left over from an earlier conversion and is always safe to delete\&.
.RE
.sp
A file with neither itself nor a marker present is silently skipped \(em there is nothing to say about it\&. If this is true of both config\&.json and discovery\&.conf, a single \fIno legacy configuration found\fR line is printed instead of two silent files and no output at all\&.
.sp
Because the marker is a symlink keyed on the file\(cqs \fBpath\fR, 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 \(em when a file and a resolving marker are both present, it adds a note that the marker may be stale and the file\(cqs contents should be verified against the INI configuration, so a human can decide\&. Use \fInvme config convert\fR if in doubt: converting an already\-converted file is a safe no\-op\&.
.SH "OPTIONS"
.SH "GLOBAL OPTIONS"
.sp
The following options are defined at the top\-level nvme command and are available to this subcommand:
.PP
\-\-dry\-run
.RS 4
Print the command that would be executed, but do not actually execute it\&.
.RE
.PP
\-\-no\-ioctl\-probing
.RS 4
Disable probing for 64\-bit IOCTL support\&.
.RE
.PP
\-\-no\-retries
.RS 4
Disable retry logic on transient errors\&.
.RE
.PP
\-o , \-\-output\-format=
.RS 4
Set the reporting format to
\fInormal\fR,
\fItabular, \*(Aqjson\fR, or
\fIbinary\fR\&. Only one output format may be used at a time\&.
.RE
.PP
\-\-output\-format\-version=
.RS 4
Select the output format version\&. Version
\fI1\fR
uses the original field naming, while version
\fI2\fR
(default) provides more consistent and script\-friendly field names\&.
.RE
.PP
\-\-timeout=
.RS 4
Set the timeout for the command in milliseconds\&.
.RE
.PP
\-v, \-\-verbose
.RS 4
Increase the level of detail in the output\&. May be specified multiple times to further increase verbosity\&.
.RE
.sp
These options can also be set as machine\-wide defaults in nvme\-cli\&.conf(5)\&. A command\-line flag always overrides the file\&.
.SH "EXIT STATUS"
.sp
Returns 0 if neither legacy file has anything to report\&. Returns a non\-zero status if config\&.json or discovery\&.conf, or a \fI\&.converted\fR marker for either, is present \(em regardless of which of the states listed above applies\&. Use the printed output, not the exit status, to tell those states apart\&.
.SH "EXAMPLES"
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Check the system\(cqs legacy configuration state, config\&.json already converted and no discovery\&.conf ever present:
.sp
.if n \{\
.RS 4
.\}
.nf
# nvme config status
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
/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
.fi
.if n \{\
.RE
.\}
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
Check a system that never had a legacy configuration:
.sp
.if n \{\
.RS 4
.\}
.nf
# nvme config status
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
no legacy configuration found; nothing to convert
.fi
.if n \{\
.RE
.\}
.RE
.SH "SEE ALSO"
.sp
nvme\-config\-convert(1) nvme\-config\-show(1) nvme\-config\-validate(1) nvme\-connect\-all(1) nvme\-discover(1) \m[blue]\fBhttps://github\&.com/linux\-nvme/nvme\-cli/blob/master/libnvme/design/CONFIG\&.md\fR\m[]
.SH "NVME"
.sp
Part of the nvme\-user suite