Reference

nvme-resv-register(1)

Register an nvme reservation

NAME

nvme-resv-register - Register an nvme reservation

SYNOPSIS

nvme [<global-options>] resv register <device>
                        [--namespace-id=<nsid> | -n <nsid>]
                        [--crkey=<crkey> | -c <crkey>]
                        [--nrkey=<nrkey> | -k <nrkey>]
                        [--rrega=<rrega> | -r <rrega>]
                        [--cptpl=<cptpl> | -p <cptpl>]
                        [--iekey | -i]

DESCRIPTION

The Reservation Register command is used to register, unregister, or replace a reservation key.

The bare nvme resv-register form (without a space) still works as a deprecated alias and will be removed in a future major version. New scripts should use nvme resv register instead.

OPTIONS

-n <nsid>, --namespace-id=<nsid>

Override the nsid field. If using the admin character device, this parameter is required. The broadcast value 0xffffffff can also be given as all or -1.

-c <crkey>, --crkey=<crkey>

Current Reservation Key: If the Reservation Register Action is 001b (i.e., Unregister Reservation Key) or 010b (i.e., Replace Reservation Key), then this field contains the current reservation key associated with the host. For all other Reservation Register Action values, this field is reserved. The controller ignores the value of this field when the Ignore Existing Key (IEKEY) bit is set to ‘1’.

-k <nrkey>, --nrkey=<nrkey>

New Reservation Key: If the Reservation Register Action is 000b (i.e., Register Reservation Key) or 010b (i.e., Replace Reservation Key), then this field contains the new reservation key associated with the host. For all other Reservation Register Action values, this field is reserved.

-p <cptpl>, --cptpl=<cptpl>

Change Persist Through Power Loss State: This field allows the Persist Through Power Loss state associated with the namespace to be modified as a side effect of processing this command.

ValueDefinition
0No change to PTPL state
1Reserved
2Set PTPL state to ‘0’. Reservations are released and registrants are cleared on a power on.
3Set PTPL state to ‘1’. Reservations and registrants persist across a power loss.
-r <rrega>, --rrega=<rrega>

Reservation Register Action: This field specifies the registration action that is performed by the command.

ValueDefinition
0Register Reservation Key
1Unregister Reservation Key
2Replace Reservation Key
3-7Reserved
-i, --iekey

Ignore Existing Key: If this bit is set to a 1, then the Current Reservation Key (CRKEY) check is disabled and the command shall succeed regardless of the CRKEY field value.

Indicator option, defaults to 0.

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 <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 (default) provides more consistent and script-friendly field names. Other versions are rejected.

--quiet

Suppress informational messages. Errors are still 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.

These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.

EXAMPLES

No examples yet

NVME

Part of the nvme-user suite

History

--dry-run since Arch Linux 2026-11-01; --no-ioctl-probing since Arch Linux 2026-11-01; --no-retries since Arch Linux 2026-11-01; --output-format since Debian 13 (Trixie); --output-format-version since Arch Linux 2026-11-01; --quiet since Arch Linux 2026-11-01; --set-options since Arch Linux 2026-11-01; --timeout since Debian 13 (Trixie); --verbose since Debian 13 (Trixie); -o since Debian 13 (Trixie); -r since Debian 12 (Bookworm); -v since Debian 13 (Trixie).

-a until Debian 11 (Bullseye); -t until Debian 13 (Trixie).