only 16 NVMe controllers usable per system due to 18bit minor number limit
Due to the 18bit minor number limit (#8630) the NVMe driver will fail to create minor nodes for devices beyond instance 16. This is due to NVME_MINOR_INST_SHIFT being defined as 14, which was supposed to allow 16k namespaces and 256k NVMe devices in a system but didn't take the 18bit limit into account.
An easy solution for now is to change NVME_MINOR_INST_SHIFT to 9, allowing up to 512 devices with 512 namespaces each. As devices with 128 namespaces are already being sold this seems like a reasonable comprise for now.
Updated by Electric Monk over 3 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
commit dc97a43d4a70c8773a619f11b95b07a787f6f5b7 Author: Hans Rosenfeld <email@example.com> Date: 2017-09-12T14:59:24.000Z 8631 only 16 NVMe controllers usable per system due to 18bit minor number limit Reviewed by: Robert Mustacchi <firstname.lastname@example.org> Reviewed by: Patrick Mooney <email@example.com> Reviewed by: Yuri Pankov <firstname.lastname@example.org> Reviewed by: Toomas Soome <email@example.com> Approved by: Richard Lowe <firstname.lastname@example.org>