NVMe namespace management support
The creation and deletion of namespaces is not supported. This will add that support.
The management of namespaces will be enabled by two new subcommands to nvmeadm:
nvmeadm create <nvme device> <size> <block size>
Will create a new namespace on <nvme device> of capacity <size> with a block size of <block size>. <size> can be suffixed to indicate b locks, k ilobutes, m egabytes or g igabytes. <block size> must be a supported block size, which can be listed using the nvmeadm identify command, typically 512 or 4096.
nvmeadm delete <nvme namespace>
<nvme namespace> can either be the controller Eg nvme0, in which case all the namespaces on the controller are deleted, or a specific namespace Eg nvme0/1
Updated by Paul Winder over 3 years ago
I completed this work, but was never able to full test it - due to lack of hardware.
The work is at: https://github.com/pwinder/illumos-gate/commits/ns-mgmt