NVME-SET-PROPERTY(1)

πŸ’– NVME-SET-PROPERTY(1) β€” the nvme manual, bestie edition πŸ’–

Okay so real talk: this one's a little tool from the NVMe Manual crowd, and it's lowkey iconic for one specific job β€” writing and showing the defined NVMe controller property for NVMe over Fabric. That's the whole vibe. Slay. ✨


🌸 NAME 🌸

nvme-set-property β€” writes and shows the defined NVMe controller property for NVMe over Fabric. That's it, that's the girl. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] set-property <device>
                        [--offset=<offset> | -O <offset>]
                        [--value=<val> | -V <val>]

✨ DESCRIPTION ✨

Writes and shows the defined NVMe controller property for NVMe over Fabric. Yes bestie, both β€” sometimes you're just peeking at the property, sometimes you're setting it. Main character behaviour either way. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

  • -O <offset>, --offset=<offset> β€” the offset of the property, or the name of a register, like 0x14 or cc. Keep this one close, okay? 🫢 The properties of a fabrics controller are cap (0x0), vs (0x8), cc (0x14), csts (0x1c), nssr (0x20), nssd (0x64) and crto (0x68) β€” and heads up, the transport may define more, so don't come for me if your list is longer. 🌈
  • -V <val>, --value=<val> β€” the value of the property to be set. That's the actual thing you're writing, no cap. ⭐

πŸ’œ GLOBAL OPTIONS πŸ’œ

So these ones live up at the top-level nvme command and are available to this subcommand too β€” think of them as the group chat everyone's in, iykyk. πŸ’¬

  • --dry-run β€” print the command that would be executed, but do not actually execute it. Like window shopping but for syscalls. πŸ™ˆ
  • --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 β€” pick your fighter, you can't have all four. 😭
  • --output-format-version=<version> β€” select the output format version. Version 1 uses the original field naming, while version 2 (the default, bestie) provides more consistent and script-friendly field names. Other versions are rejected β€” we don't do that here. πŸ’€
  • --quiet β€” suppress informational messages. Errors are still reported (obvi), and --quiet cancels any --verbose for the library log level. They literally can't coexist, it's giving enemies to lovers. βš”οΈ
  • --set-options=<key=value>[,<key=value>...] β€” set libnvme library options for this invocation. The supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir. Mix and match, it's a whole little key-value buffet. πŸ“
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). Forever girlies rise up. ⏳πŸ”₯
  • -v, --verbose β€” increase the level of detail in the output. May be specified multiple times to further increase verbosity β€” stack it, layer it, go feral. 🌸
These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file β€” flags win, periodt. πŸ‘‘

🧚 EXAMPLES 🧚

No examples (yet). Yeah I know, tragic. Not me waiting for the glow-up. 😭 Keep an eye out though β€” this section ate nothing but it's coming. πŸ’…


🌟 NVME 🌟

Part of the nvme-user suite. Family business. 🫢


That's the whole page, bestie β€” every flag, every value, every 0x in its rightful place. πŸ’– Go set some properties, you gorgeous genius. πŸŒˆπŸ’œ

Signed off with love: NVMe manual source, version dated 10/30/2026. Catch you on the next man page. πŸ’…βœ¨

πŸ“¦ where this page comes from