NVME-REGISTRY-UPDA(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’… nvme-registry-update β€” like, the page for writing an attribute into a controller's registry entry

okay so bestie, you're reading the nvme-registry-update(1) page from the NVMe Manual and honestly? it's giving "tiny command, big responsibility" ✨ let's get into it.


🌸 NAME 🌸

nvme-registry-update β€” write an attribute to a controller's registry entry

✨ SYNOPSIS ✨

nvme [<global-options>] registry update <device>
                        --attr=<ATTR> | -a <ATTR>
                        --value=<VAL> | -V <VAL>

that's the whole shape of it, no cap 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically you're writing an attribute into the ownership registry entry for an NVMe-oF controller. the registry lives under /run/nvme/registry/ and it's literally one directory per live controller, with one plain-text file per attribute. if the entry directory isn't there yet? it gets created. main character energy πŸ’…

the <device> is the NVMe controller name (like nvme3), and it's given as a positional argument β€” the /dev/ prefix is optional, so you can include it or not, no stress.

okay now the important part, listen up πŸ™ˆ the owner attribute is normally recorded when the connection is created (like, by nvme connect --owner). changing it by hand can stop an orchestrator from protecting the controller, so updating owner prompts for confirmation when you run it interactively. non-interactive callers (hi, scripts πŸ‘‹) just proceed without prompting. and before you ask β€” no, this is not access control, it's a guard against accidental mistakes. a user with root can just edit the files under /run/nvme/registry/ directly. iykyk.

writes are atomic, which is iconic: a temporary file gets written and synced, then renamed into place, so you don't get corruption under concurrent access. slay πŸ”₯

πŸŽ€ OPTIONS πŸŽ€

  • -a <ATTR>, --attr=<ATTR> β€” the attribute name you wanna write (e.g. note, owner).
  • -V <VAL>, --value=<VAL> β€” the new value for that attribute. periodt.

🌈 GLOBAL OPTIONS 🌈

these bad boys are defined at the top-level nvme command and they're available to this subcommand too:

  • --dry-run β€” print the command that would be executed, but don't actually execute it. vibes only, no consequences ✨
  • --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 (the default) gives you more consistent and script-friendly field names. other versions are rejected, sorry bestie πŸ’€
  • --quiet β€” suppress informational messages. errors still get reported, and --quiet cancels any --verbose for the library log level.
  • --set-options=<key=value>[,<key=value>...] β€” set libnvme library options for this invocation. supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff).
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity. the way that just keeps going πŸ“ˆ
these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file β€” flag wins, always πŸ‘‘

πŸ“ 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 🧚

nvme-registry-list(1) nvme-registry-retrieve(1) nvme-registry-delete(1) nvme-disconnect-all(1)

πŸ’œ NVME πŸ’œ

part of the nvme-user suite 🫢


and that's the whole page bestie!! πŸ’– this little gem landed on 10/30/2026 and it's part of the nvme-user suite β€” go forth and update those registry attributes responsibly, mwah πŸ˜­πŸ’…

πŸ“¦ where this page comes from