NVME-REGISTRY-UPDA(1) NVMe Manual NVME-REGISTRY-UPDA(1)

# [NAME](#NAME)

nvme-registry-update - Write an attribute to a controller's registry entry

# [SYNOPSIS](#SYNOPSIS)

```
nvme [<global-options>] registry update <device>


                        --attr=<ATTR> | -a <ATTR>


                        --value=<VAL> | -V <VAL>
```

# [DESCRIPTION](#DESCRIPTION)

Write an attribute to the ownership registry entry for an NVMe-oF controller. The registry is stored under /run/nvme/registry/ as one directory per live controller, with one plain-text file per attribute. The entry directory is created if it does not already exist.

The &lt;device&gt; is the NVMe controller name (e.g. nvme3), given as a positional argument; the /dev/ prefix is optional.

The *owner* attribute is normally recorded when the connection is created (e.g. by *nvme connect --owner*). Changing it by hand can stop an orchestrator from protecting the controller, so updating *owner* prompts for confirmation when run interactively; non-interactive callers (scripts) proceed without prompting. This is a guard against accidental mistakes, not access control — a user with root can edit the files under /run/nvme/registry/ directly.

Writes are atomic: a temporary file is written and synced, then renamed into place, preventing corruption under concurrent access.

# [OPTIONS](#OPTIONS)

-a &lt;ATTR&gt;, --attr=&lt;ATTR&gt;

Attribute name to write (e.g. note, owner).

-V &lt;VAL&gt;, --value=&lt;VAL&gt;

New attribute value.

# [GLOBAL OPTIONS](#GLOBAL_OPTIONS)

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 &lt;fmt&gt;, --output-format=&lt;fmt&gt;

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

--output-format-version=&lt;version&gt;

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=&lt;ms&gt;

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)](/man/os/nvme-cli/nvme-cli.conf.5). A command-line flag always overrides the file.

# [EXAMPLES](#EXAMPLES)

•Attach a free-form note to nvme3:

```
# nvme registry update nvme3 --attr note --value "maintenance 2026-07"
```

•Update a previously written note:

```
# nvme registry update nvme3 --attr note --value "released"
```

# [SEE ALSO](#SEE_ALSO)

[nvme-registry-list(1)](/man/os/nvme-cli/nvme-registry-list.1) [nvme-registry-retrieve(1)](/man/os/nvme-cli/nvme-registry-retrieve.1) [nvme-registry-delete(1)](/man/os/nvme-cli/nvme-registry-delete.1) [nvme-disconnect-all(1)](/man/os/nvme-cli/nvme-disconnect-all.1)

# [NVME](#NVME)

Part of the nvme-user suite

09/18/2026 NVMe

---

Document: nvme-registry-update(1) from nvme-cli 3.1-r1 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
