Spdk/lib
Darek Stojaczyk df4d03f107 env: encapsulate spdk_pci_device fields
In order to populate our PCI device list with devices
located behind the VMD, we'll need to fill out those
device structures from within a special VMD driver. That
driver will base on PCI configuration and BAR accesses,
but definitely not on DPDK. We want to put the VMD driver
outside of the env lib, so we're about to provide it with
a direct access to the device struct. Before we do that,
let's group all the env-internal fields into an extra
struct "internal".

The spdk_pci_device struct does actually depend on DPDK
now as it contains an `rte_pci_device *dev_handle` field,
but we can easily break that dependency. The field is only
used as an arguement to DPDK functions, so we can change
its type to void* and let the implicit type conversion do
the magic. After all, the VMD driver will potentially use
it to store its (non-DPDK) data as well.

Change-Id: I425d6dfa7af13e022f5377ceaff39efbd4a01b3d
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/435799
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2018-12-06 03:41:32 +00:00
..
bdev bdev/rbd: full control over client configuration 2018-12-05 17:49:57 +00:00
blob log: remove "trace" from internal API 2018-12-03 19:50:15 +00:00
blobfs log: remove "trace" from internal API 2018-12-03 19:50:15 +00:00
conf conf: don't strdup name if section already exist 2018-05-17 17:13:19 +00:00
copy lib/copy: unregister copy engine on finish 2018-10-15 17:42:20 +00:00
env_dpdk env: encapsulate spdk_pci_device fields 2018-12-06 03:41:32 +00:00
event app: rename traceflag cmdline option to logflag 2018-12-03 19:50:15 +00:00
ioat ioat: change the return type of ioat_channel_destruct() to be void 2018-09-18 22:41:00 +00:00
iscsi scsi: add iSCSI initiator port TransportID 2018-12-05 16:04:06 +00:00
json json: Use not C++ style comments // but C-style comments /* */ 2018-10-31 22:01:47 +00:00
jsonrpc jsonrpc client: move around functions so no forwad declaration is needed 2018-11-19 20:30:03 +00:00
log app: rename traceflag cmdline option to logflag 2018-12-03 19:50:15 +00:00
lvol lvol: check spdk_lvol for NULL before dereferencing it 2018-11-20 15:01:57 +00:00
nbd nbd: fixup return codes 2018-11-28 22:55:09 +00:00
net lib: fix typos in the lib directory 2018-08-24 17:15:12 +00:00
nvme nvme: Fix the race condition in nvme_ctrlr_get_cc 2018-12-05 00:32:21 +00:00
nvmf nvmf: fix the error path for shared data buffer free. 2018-12-05 05:57:09 +00:00
reduce reduce: don't pass size when loading pmem file 2018-12-06 00:22:36 +00:00
rocksdb build: remove xx_MODULES_LINKER_ARGS and xx_MODULES_FILES 2018-11-28 16:43:01 +00:00
rpc rpc: add spdk_rpc_is_method_allowed 2018-12-05 00:35:35 +00:00
scsi scsi: add iSCSI initiator port TransportID 2018-12-05 16:04:06 +00:00
sock net: add asynchronous initialization and finish 2018-11-07 17:08:27 +00:00
thread lib/thread: check for NULL return on _get_thread() 2018-11-20 15:03:17 +00:00
trace lib/trace: group registration check 2018-12-05 06:20:47 +00:00
ut_mock ut_mock: rename library from spdk_mock to ut_mock 2018-11-20 14:57:57 +00:00
util util: make spdk_parse_ip_addr return -EINVAL instead -1 2018-10-12 23:34:27 +00:00
vhost log: remove "trace" from internal API 2018-12-03 19:50:15 +00:00
virtio virtio: support dynamic memory registrations 2018-10-23 18:02:12 +00:00
Makefile reduce: add configure option 2018-11-08 00:01:47 +00:00