[PATCH 07/10] nvme: track shared namespaces

Guan Junxiong guanjunxiong at huawei.com
Mon Aug 28 19:42:18 PDT 2017


Hi, Christoph

On 2017/8/28 22:30, Christoph Hellwig wrote:
> On Mon, Aug 28, 2017 at 08:41:23PM +0800, Guan Junxiong wrote:
>> If a namespace can be accessed by another subsystem,  the above line
>> will ignore such namespace.
> And that's intentional.
>

As for the __nvme_find_ns_head function, can it lookup the namespace
globally, not in the current subsytem. Take hypermetro scenario for
example, two namespaces which should be viewed as the same namespaces
from the database application but exist in two different cities respectively.
Some vendors maybe specify those two namespaces with the same UUID.

In addition, could you add a switch to turn on/off finding namespaces in
a subsystem-wide level or globally?

>> Or does the NVMe/NVMf specification constrain that any namespace
>> can only be accessed by a subsystem?
> Yes, inside the NVMe spec a Namespace is contained inside a Subsystem.
> That doesn't preclude other ways to access the LBAs, but they are outside
> the specification (e.g. also exporting them as SCSI).

Can namespace be shared between two subsystem?  If not, for hypermetro scenario,
we need keep more information of a storage array in city A synchronized with the other
in city B.





More information about the Linux-nvme mailing list