numam-spdk/lib
Dariusz Stojaczyk 2c4c7c8870 rte_vhost: mantain separate virtio features field in virtio_net
There are two separate abstraction layers:
* vsocket - which represents a unix domain socket
* virtio_net - which represents a vsocket connection

There can be many connections
on the same socket. vsocket
provides an API to enable/disable
particular virtio features on
the fly, but it's the virtio_net
that uses these features.
virtio_net used to rely on
vsocket->features during
feature negotiation, breaking
the layer encapsulation (and
yet causing a deadlock - two
locks were being locked in a
separate order). Now each
virtio_net device has it's own
copy of vsocket features, created
at the time of virtio_net creation.
vsocket->features have to be
still present, as features can be
enabled/disabled while no
virtio_net device has been
created yet.

Fixes #214

Change-Id: Ic4b2dd8cae6050813fc9a420b2ed30bc5ae60393
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/386294
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-11-14 15:39:49 -05:00
..
bdev bdev: Fix bug where cpl on finish is called early 2017-11-14 15:08:56 -05:00
blob blobstore: store usable number of clusters in blobstore structure 2017-11-10 17:24:31 -05:00
blobfs blobfs: fix bstype debug prints 2017-10-17 16:26:02 -04:00
conf log: Use SPDK_ERRLOG in lieu of fprintf(stderr 2017-05-09 11:28:28 -07:00
copy env: return fd from spdk_pci_device_claim() 2017-11-03 18:48:33 -04:00
cunit include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
env_dpdk env: return fd from spdk_pci_device_claim() 2017-11-03 18:48:33 -04:00
event event: Allow spdk_subsystem_fini_next to be called from any core 2017-11-14 15:08:56 -05:00
ioat copy: return 0 on success and appropriate errno on failure 2017-09-25 13:56:29 -04:00
iscsi iscsi: cleanup iscsi_subsystem.c 2017-11-13 14:58:34 -05:00
json json: add function to write UTF-16LE strings 2017-07-12 18:12:52 -04:00
jsonrpc log: rename SPDK_TRACELOG to SPDK_DEBUGLOG 2017-08-29 13:25:58 -04:00
log log: change spdk_trace_dump() to take a void * 2017-10-17 16:26:02 -04:00
lvol lvol: show total accessible clusters in lvol store 2017-11-10 17:24:31 -05:00
nbd nbd: do not free spdk_nbd_disk with io outstanding 2017-11-10 17:00:58 -05:00
net net: spdk_sock_getaddr() support IPv6 transparently 2017-11-10 18:54:21 -05:00
nvme nvme: add actual shutdown time to log message 2017-11-14 10:54:04 -05:00
nvmf nvmf: move poll groups to public API 2017-11-09 12:51:18 -05:00
rocksdb rpc: remove rpc subsystem 2017-11-10 17:00:58 -05:00
rpc rpc: add default UNIX domain socket listen address 2017-11-13 14:57:49 -05:00
scsi scsi: use scsi_spec.h enums for VPD page numbers 2017-10-29 12:12:47 -04:00
trace lib: replace strerror with strerror_r 2017-08-15 16:47:01 -04:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util blob: defer calling unload callback until dev is destroyed 2017-09-26 19:10:28 -04:00
vhost rte_vhost: mantain separate virtio features field in virtio_net 2017-11-14 15:39:49 -05:00
Makefile lvol: Logical volume implementation 2017-09-14 19:30:54 -04:00