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

# [NAME](#NAME)

nvme-config-convert - Convert a legacy NVMe-oF configuration to the INI format

# [SYNOPSIS](#SYNOPSIS)

```
nvme [<global-options>] config convert


                        [--config=<file> | -J <file>]


                        [--output=<file> | -o <file>]


                        [--force]


                        [--verbose | -v]
```

# [DESCRIPTION](#DESCRIPTION)

Converts a pre-3.0 NVMe-oF configuration from the legacy *config.json* JSON store and/or the *discovery.conf* argv-style file to the INI configuration format used by *nvme connect-all* and *nvme discover*. The INI format is documented at **https://github.com/linux-nvme/nvme-cli/blob/master/libnvme/design/CONFIG.md**

By default, the command looks for the legacy files /usr/local/etc/nvme/config.json and /usr/local/etc/nvme/discovery.conf and converts any that exist into a single configuration, matching the behavior of *nvme connect-all*. Use --config to convert a config.json at a non-default path instead; as with *nvme connect-all*, discovery.conf conversion is not gated by --config — /usr/local/etc/nvme/discovery.conf is always converted when it exists, whether or not --config is given.

The converted configuration is written to the file specified by --output. If --output is not specified, the default location, /usr/local/etc/nvme/nvme-fabrics.conf, is used. Unless --force is specified, the command refuses to overwrite an existing configuration. On success, the converted legacy file(s) are renamed to *&lt;name&gt;.converted* to prevent conversion on subsequent runs. Running the command again is safe: a source file that is missing only because a prior run already converted and renamed it is treated as already done, not as an error.

Malformed entries (for example, invalid addressing or an unreadable port) are skipped with a log message. Conversion continues unless a memory allocation failure occurs.

# [OPTIONS](#OPTIONS)

-J &lt;file&gt;, --config=&lt;file&gt;

Convert this JSON file instead of the default /usr/local/etc/nvme/config.json.

-o &lt;file&gt;, --output=&lt;file&gt;

Write the converted configuration here instead of the default /usr/local/etc/nvme/nvme-fabrics.conf.

--force

Overwrite an existing configuration at the target. Any manual changes are lost.

-v, --verbose

Increase the level of detail in the output.

# [EXAMPLES](#EXAMPLES)

•Convert the system’s legacy configuration in place:

```
# nvme config convert
```

•Convert one specific configuration file for testing, without touching the system configuration:

```
# nvme config convert --config /tmp/config.json --output /tmp/nvme-fabrics.conf
```

Note: unlike config.json, discovery.conf has no --config-style override — its path is always /usr/local/etc/nvme/discovery.conf. If that file exists on the system, this command still converts it and renames it to *discovery.conf.converted*, even though --config points elsewhere.

# [SEE ALSO](#SEE_ALSO)

[nvme-config-validate(1)](/man/os/nvme-cli/nvme-config-validate.1) [nvme-config-show(1)](/man/os/nvme-cli/nvme-config-show.1) [nvme-config-status(1)](/man/os/nvme-cli/nvme-config-status.1) [nvme-connect-all(1)](/man/os/nvme-cli/nvme-connect-all.1) [nvme-discover(1)](/man/os/nvme-cli/nvme-discover.1) **https://github.com/linux-nvme/nvme-cli/blob/master/libnvme/design/CONFIG.md**

# [NVME](#NVME)

Part of the nvme-user suite

09/18/2026 NVMe

---

Document: nvme-config-convert(1) from nvme-cli 3.1-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
