fab374a7c6
For now DPDK assumes that callfd, kickfd and last_idx are being set just once during vring initialization and device cannot be running while DPDK receives SET_VRING_KICK, SET_VRING_CALL and SET_VRING_BASE messages. However, that assumption is wrong. For Vhost SCSI messages might arrive at any point of time, possibly multiple times, one after another. QEMU issues SET_VRING_CALL once during device initialization, then again during device start. The second message will close previous callfd, which is still being used by the user-implementation of vhost device. This results in writing to invalid (closed) callfd. This patch destroys vhost device before setting callfd, kickfd and last vring indices. It will be recreated right after (with updated vring data). Change-Id: I293bd91106f53f6c2f65d8b8a41f47ae7548cddc Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> |
||
---|---|---|
.. | ||
bdev | ||
blob | ||
blobfs | ||
conf | ||
copy | ||
cunit | ||
env_dpdk | ||
event | ||
ioat | ||
iscsi | ||
json | ||
jsonrpc | ||
log | ||
net | ||
nvme | ||
nvmf | ||
rpc | ||
scsi | ||
trace | ||
util | ||
vhost | ||
Makefile |