[PATCH 7/9] nvme: track shared namespaces
Keith Busch
keith.busch at intel.com
Mon Sep 25 09:11:55 PDT 2017
On Mon, Sep 25, 2017 at 03:40:29PM +0200, Christoph Hellwig wrote:
> Introduce a new struct nvme_ns_head [1] that holds information about
> an actual namespace, unlike struct nvme_ns, which only holds the
> per-controller namespace information. For private namespaces there
> is a 1:1 relation of the two, but for shared namespaces this lets us
> discover all the paths to it. For now only the identifiers are moved
> to the new structure, but most of the information in struct nvme_ns
> should eventually move over.
>
> To allow lockless path lookup the list of nvme_ns structures per
> nvme_ns_head is protected by SRCU, which requires freeing the nvme_ns
> structure through call_srcu.
>
> [1] comments welcome if you have a better name for it, the current one is
> horrible. One idea would be to rename the current struct nvme_ns
> to struct nvme_ns_link or similar and use the nvme_ns name for the
> new structure. But that would involve a lot of churn.
>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
Looks good; I can live with 'nvme_ns_head'.
Reviewed-by: Keith Busch <keith.busch at intel.com>
More information about the Linux-nvme
mailing list