Native multipath across multiple subsystem NQNs

Uday Shankar ushankar at purestorage.com
Fri Feb 11 14:07:14 PST 2022


Hello,

We have the need to expose the same namespace (considered the same due
to reporting the same unique identifier in "Identify Namespace") from
two distinct targets, having different subsystem NQNs. In this case, the
native multipath implementation in this driver behaves differently from
most other multipath implementations, including DM-multipath and the
implementations in other operating systems.

Native multipath: Does not consider the namespaces the same. Two block
devices are created, corresponding to the two subsystems in play.

Others: The namespaces are considered the same. One block device is
created, backed by paths to both subsystems.

The second behavior is desired in our use case. I want to implement this
behavior in the driver. I can think of two approaches, and want some
feedback on which one(s) would be acceptable.

1. A "direct" approach: add a parameter, which, when set, will result in
the second behavior - paths to namespaces are consolidated purely based
on namespace unique ID, without considering the subsystem.
2. The recently ratified TPE4034 Dispersed Namespaces feature provides a
means to get the second behavior, and a lot more. It requires both host
and target support.

I look forward to your feedback!

Thanks,
Uday



More information about the Linux-nvme mailing list