• Sungup Moon's avatar
    nvme: allow duplicate NSIDs for private namespaces · 5974ea7c
    Sungup Moon authored
    A NVMe subsystem with multiple controller can have private namespaces
    that use the same NSID under some conditions:
    
     "If Namespace Management, ANA Reporting, or NVM Sets are supported, the
      NSIDs shall be unique within the NVM subsystem. If the Namespace
      Management, ANA Reporting, and NVM Sets are not supported, then NSIDs:
       a) for shared namespace shall be unique; and
       b) for private namespace are not required to be unique."
    
    Reference: Section 6.1.6 NSID and Namespace Usage; NVM Express 1.4c spec.
    
    Make sure this specific setup is supported in Linux.
    
    Fixes: 9ad1927a ("nvme: always search for namespace head")
    Signed-off-by: default avatarSungup Moon <sungup.moon@samsung.com>
    [hch: refactored and fixed the controller vs subsystem based naming
          conflict]
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
    5974ea7c
nvme.h 26.1 KB