Spdk/lib
Darek Stojaczyk b3db2a65ea vfio: don't use VFIO when IOMMU is disabled
Previously we used VFIO if only the vfio-pci kernel module
was loaded, which is different from what our setup.sh script
did. On a fairly usual system configuration, setup.sh could
have bound devices to UIO, but SPDK would still try to map
memory to an (empty) DPDK VFIO container just because its fd
was available. That would fail obviously.

setup.sh checks for IOMMU presence in order to use vfio-pci
and SPDK should probably do the same. We could check the
kernel driver of each attached PCI device, but there's no
chance right now of supporting both UIO and VFIO devices
at the same time with IOMMU passthrough. That's not
a reasonable configuration anyway. To keep things simple,
we just add a single check on vtophys initialization.

Fixes #462

Change-Id: Ica653f117743be322291a1b7e37ed00e34ef5035
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/432518
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: <wuzhouhui@kingsoft.com>
2018-11-12 22:24:34 +00:00
..
bdev bdev_aio: enable double buffering on write path 2018-11-12 21:56:24 +00:00
blob bit_array: return UINT32_MAX if no cleared bits found 2018-10-08 17:03:33 +00:00
blobfs blobfs: align rw buffer to lba of device underneath 2018-09-18 16:35:57 +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 vfio: don't use VFIO when IOMMU is disabled 2018-11-12 22:24:34 +00:00
event app: RPC to wait for app subsystem initialization. 2018-11-12 22:21:33 +00:00
ioat ioat: change the return type of ioat_channel_destruct() to be void 2018-09-18 22:41:00 +00:00
iscsi iscsi: change connection messages to DEBUGLOGs 2018-11-12 20:15:25 +00:00
json json: Use not C++ style comments // but C-style comments /* */ 2018-10-31 22:01:47 +00:00
jsonrpc jsonrpc: introduce spdk_jsonrpc_client_response 2018-11-06 19:00:41 +00:00
log log: update tracelog usage message 2018-10-24 18:25:37 +00:00
lvol lvol: _spdk_add_lvs_to_list: break loop immediately if find 2018-09-14 03:56:35 +00:00
nbd nbd: add support for io_wait implement in nbd 2018-10-02 22:36:01 +00:00
net lib: fix typos in the lib directory 2018-08-24 17:15:12 +00:00
nvme nvme/rdma: Make RDMA memory map per-pd again 2018-11-12 15:31:34 +00:00
nvmf nvmf: remove tgt_opts from nvmf_tgt 2018-11-08 23:08:26 +00:00
reduce reduce: write path of pm file to backing dev 2018-11-12 22:23:44 +00:00
rocksdb Revert "env: remove default pre-reserved memory size" 2018-11-09 18:31:45 +00:00
rpc rpc: add function to get the current RPC state 2018-11-08 23:04:50 +00:00
scsi scsi: Use not C++ style comments // but C-style comments /* */ 2018-10-31 22:01:47 +00:00
sock net: add asynchronous initialization and finish 2018-11-07 17:08:27 +00:00
thread nvmf: change the return type of calloc failed 2018-11-02 17:56:40 +00:00
trace trace: remove alias concept 2018-09-05 18:03:43 +00:00
ut_mock test: Simplify the mock library 2018-08-09 17:18:23 +00:00
util util: make spdk_parse_ip_addr return -EINVAL instead -1 2018-10-12 23:34:27 +00:00
vhost vhost/blk: check against hotremoved bdev in GET_CONFIG handler 2018-10-23 17:54:46 +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