[PATCH 6/8] nvme-fabrics: add a generic NVMe over Fabrics library

Keith Busch keith.busch at intel.com
Wed Jun 15 12:16:03 PDT 2016


On Mon, Jun 13, 2016 at 04:45:26PM +0200, Christoph Hellwig wrote:
> @@ -107,10 +108,19 @@ struct nvme_ctrl {
>  	u8 event_limit;
>  	u8 vwc;
>  	u32 vs;
> +	u32 sgls;
>  	bool subsystem;
>  	unsigned long quirks;
>  	struct work_struct scan_work;
>  	struct work_struct async_event_work;
> +
> +	/* Fabrics only */
> +	u16 sqsize;
> +	u32 ioccsz;
> +	u32 iorcsz;
> +	u16 icdoff;
> +	u16 maxcmd;
> +	struct nvmf_ctrl_options *opts;
>  };

The pci only stuff goes in 'struct nvme_dev' and embeds 'struct
nvme_ctrl', but fabrics gets to use nvme_ctrl directly?

If we need transport specifics for anything, like you have during
nvme_init_identify, I think we should add function callbacks to
nvme_ctrl_ops to set up those specifics, then we don't need 'is_fabrics'
checks.



More information about the Linux-nvme mailing list