3

I have a NVME SSD. There is an existent namespace on it as below.

# nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     2L232L25HQ2C         ADATA SX6000LNP                          1         256.06  GB / 256.06  GB    512   B +  0 B   VC0S0328

But it takes whole capacity. I would like to break it into two smaller namespaces. I did this,

# nvme detach-ns /dev/nvme0 -n 1
warning: empty controller-id list will result in no actual change in namespace attachment
NVMe status: INVALID_OPCODE: The associated command opcode field is not valid(0x4001)

# nvme delete-ns /dev/nvme0 -n 1
NVMe status: INVALID_OPCODE: The associated command opcode field is not valid(0x4001)

As you see, both of them failed. How to deal with it?

codexplorer
  • 541
  • 5
  • 21

1 Answers1

3

Not every SSD supports multiple namespaces. To find number of namespaces an NVMe device supports,

# nvme id-ctrl /dev/nvme0 | grep ^nn
nn        : 1

nn indicates the maximum value of a valid NSID for the NVM subsystem. If the SSD supports just one namespace, you even can't delete the existing namespace. The controller doesn't allow the move.

codexplorer
  • 541
  • 5
  • 21