Maciej Szwed 72e079a880 lib/nvme: implement external IO processing
This patch allows to send IO requests from external module to the nvme
device.

External module should call nvme_io_msg_ctrlr_start() to start IO message
producer on the controller and enable sending messages.

nvme_io_msg_send() is used to send IO to NVMe driver thread context,
where passed function will be called. Allowing the external module to
issue IO as needed.

NVMe driver users should poll spdk_nvme_io_msg_process() to move forward,
sending IO from external module and process their completions.

Change-Id: Ie59abac69870c4e4daa50120c747f3b620395921
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/471386
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-10-24 23:43:59 +00:00
..
2019-03-15 19:32:55 +00:00
2019-03-20 21:05:33 +00:00
2019-10-24 17:04:04 +00:00
2019-05-15 18:54:27 +00:00
2017-07-12 18:12:52 -04:00
2019-06-17 14:09:03 +00:00
2019-08-29 00:48:33 +00:00
2019-07-22 04:32:59 +00:00
2019-05-30 21:42:36 +00:00
2019-01-22 23:22:16 +00:00
2019-09-11 16:30:38 +00:00
2018-12-06 22:25:09 +00:00
2019-07-31 08:25:59 +00:00
2019-10-24 17:04:04 +00:00