From 47c7470dbf78fb391c523766ede9caa453c90a16 Mon Sep 17 00:00:00 2001 From: Liu Xiaodong Date: Mon, 28 May 2018 21:45:52 -0400 Subject: [PATCH] spdk_ioctl: define nvme_ctrlr/bdev in internal .h Prepare to insert ioctl related struct and funcs into lib/bdev/nvme. This is the start of one set of patches for nvme ioctl. More details will be put in Trello: https://trello.com/c/UYL5vhTN/50-nvme-userioctl Change-Id: I5fc97230400ecab79f19dac4fb2badfd2d337f6c Signed-off-by: Liu Xiaodong Reviewed-on: https://review.gerrithub.io/412781 Tested-by: SPDK Automated Test System Reviewed-by: Daniel Verkamp Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto Reviewed-by: Changpeng Liu --- lib/bdev/nvme/bdev_nvme.c | 25 ------------------------- lib/bdev/nvme/bdev_nvme.h | 27 ++++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/lib/bdev/nvme/bdev_nvme.c b/lib/bdev/nvme/bdev_nvme.c index 9d89f4936..d0e599af8 100644 --- a/lib/bdev/nvme/bdev_nvme.c +++ b/lib/bdev/nvme/bdev_nvme.c @@ -52,31 +52,6 @@ static void bdev_nvme_get_spdk_running_config(FILE *fp); static int bdev_nvme_config_json(struct spdk_json_write_ctx *w); -struct nvme_ctrlr { - /** - * points to pinned, physically contiguous memory region; - * contains 4KB IDENTIFY structure for controller which is - * target for CONTROLLER IDENTIFY command during initialization - */ - struct spdk_nvme_ctrlr *ctrlr; - struct spdk_nvme_transport_id trid; - char *name; - int ref; - - struct spdk_poller *adminq_timer_poller; - - /** linked list pointer for device list */ - TAILQ_ENTRY(nvme_ctrlr) tailq; -}; - -struct nvme_bdev { - struct spdk_bdev disk; - struct nvme_ctrlr *nvme_ctrlr; - struct spdk_nvme_ns *ns; - - TAILQ_ENTRY(nvme_bdev) link; -}; - struct nvme_io_channel { struct spdk_nvme_qpair *qpair; struct spdk_poller *poller; diff --git a/lib/bdev/nvme/bdev_nvme.h b/lib/bdev/nvme/bdev_nvme.h index edf77bacc..9da2cb7ab 100644 --- a/lib/bdev/nvme/bdev_nvme.h +++ b/lib/bdev/nvme/bdev_nvme.h @@ -36,11 +36,36 @@ #include "spdk/stdinc.h" +#include "spdk/queue.h" #include "spdk/nvme.h" +#include "spdk/bdev_module.h" #define NVME_MAX_CONTROLLERS 1024 -struct spdk_bdev; +struct nvme_ctrlr { + /** + * points to pinned, physically contiguous memory region; + * contains 4KB IDENTIFY structure for controller which is + * target for CONTROLLER IDENTIFY command during initialization + */ + struct spdk_nvme_ctrlr *ctrlr; + struct spdk_nvme_transport_id trid; + char *name; + int ref; + + struct spdk_poller *adminq_timer_poller; + + /** linked list pointer for device list */ + TAILQ_ENTRY(nvme_ctrlr) tailq; +}; + +struct nvme_bdev { + struct spdk_bdev disk; + struct nvme_ctrlr *nvme_ctrlr; + struct spdk_nvme_ns *ns; + + TAILQ_ENTRY(nvme_bdev) link; +}; int spdk_bdev_nvme_create(struct spdk_nvme_transport_id *trid, const char *base_name,