NVD(4)

πŸ’– NVD(4) β€” the NVM Express disk driver, but make it a group chat πŸ’–

okay bestie sit DOWN because we're talking about nvd, the NVM Express disk driver, and she is genuinely iconic. this is from the Kernel Interfaces Manual, section 4. πŸ¦‹


✨ NAME ✨

nvd β€” NVM Express disk driver. that's it, that's the vibe. πŸŽ€


🌸 SYNOPSIS 🌸

so like, there are two ways to get her in the door. pick your fighter:

option one β€” compile her straight into your kernel. drop these exact lines into your kernel configuration file:

device nvme
device nvd

option two β€” load her as a module at boot. put these exact lines in loader.conf(5):

nvme_load="YES"
nvd_load="YES"

no cap, both work. πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

okay so here's what she actually does. the nvd driver takes NVM Express (NVMe) namespaces and exposes them as disks to the kernel disk storage API. main character energy fr fr. πŸ‘‘

but she's not doing it alone β€” she depends on the nvme(4) driver for two things:

  • notification of existing NVMe namespaces
  • submission of NVM I/O commands

it's giving codependent but in a healthy way. 🫢

now the important part: device nodes from the nvd driver have the format /dev/nvdX, and they're GEOM(4) disks, which means they can be partitioned by geom(8). slay. πŸ”₯

⚠️ but bestie, listen: device nodes from the nvme(4) driver are not GEOM(4) disks and cannot be partitioned. do not try it. i'm begging. 😭

πŸŽ€ CONFIGURATION πŸŽ€

the nvd driver defines a system-wide maximum delete size for NVMe devices. the default is 1GB.

wanna change it? set this tunable in loader.conf(5):

hw.nvd.delete_max=<delete size in bytes>

yes, in bytes. she's precise like that. ⭐


🌈 SEE ALSO 🌈

the whole friend group, obviously:


πŸ¦‹ HISTORY πŸ¦‹

the nvd driver first appeared in FreeBSD 9.2. vintage. timeless. lowkey a legend. πŸ’–


πŸ‘‘ AUTHORS πŸ‘‘

the nvd driver was developed by Intel and originally written by Jim Harris <jimharris@FreeBSD.org>, with contributions from Joe Golio at EMC. collab of the century honestly. 🀝

this man page was written by Jim Harris <jimharris@FreeBSD.org>. king wrote the code AND the docs. periodt. πŸ’…


that's the whole page, bestie β€” brought to you by the Debian crowd, dated May 18, 2019, filed under NVD(4). go forth and partition responsibly. 🧚✨

πŸ“¦ where this page comes from