[PATCH 7/9] nvme: track shared namespaces
Sagi Grimberg
sagi at grimberg.me
Wed Oct 11 05:04:14 PDT 2017
> +/*
> + * Anchor structure for namespaces. There is one for each namespace in a
> + * NVMe subsystem that any of our controllers can see, and the namespace
> + * structure for each controller is chained of it. For private namespaces
> + * there is a 1:1 relation to our namespace structures, that is ->list
> + * only ever has a single entry for private namespaces.
> + */
> +struct nvme_ns_head {
> + struct list_head list;
Didn't we agree to call this list_head siblings?
> + struct srcu_struct srcu;
> + unsigned ns_id;
> + struct nvme_ns_ids ids;
> + struct list_head entry;
> + struct kref ref;
> +};
> +
> struct nvme_ns {
> struct list_head list;
>
> struct nvme_ctrl *ctrl;
> struct request_queue *queue;
> struct gendisk *disk;
> + struct list_head siblings;
And this list_head list (or entry, or sibling, or sibling_entry)?
> struct nvm_dev *ndev;
> struct kref kref;
> + struct nvme_ns_head *head;
> int instance;
>
> - unsigned ns_id;
> - struct nvme_ns_ids ids;
> int lba_shift;
> u16 ms;
> u16 sgs;
>
More information about the Linux-nvme
mailing list