libnvmf\_registry\_update(9) libnvme API manual libnvmf\_registry\_update(9)

# [NAME](#NAME)

libnvmf\_registry\_update - Update an attribute in a controller's registry entry

# [SYNOPSIS](#SYNOPSIS)

**int libnvmf\_registry\_update** **(struct libnvme\_global\_ctx \*ctx ,** **const char \*device ,** **const char \*attr ,** **const char \*value );**

# [ARGUMENTS](#ARGUMENTS)

[ctx](#ctx)

libnvme global context; must not be NULL

[device](#device)

Kernel device name (e.g. "nvme3")

[attr](#attr)

Attribute name to update (e.g. "owner")

[value](#value)

New attribute value, or NULL to remove the attribute file

# [DESCRIPTION](#DESCRIPTION)

Writes the attribute value to the controller's registry entry using an atomic tmp-file rename. If the entry does not exist, it is created atomically the same way as on connect, including the best-effort seqnum stamp for the udev cleanup rule. If *value* is NULL, the attribute file is removed instead; a missing entry is left alone in this case.

# [RETURN](#RETURN)

0 on success, negative errno from underlying system calls otherwise.

libnvmf\_registry\_update October 2026

---

Document: libnvmf_registry_update-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
