Spdk/module/bdev
Changpeng Liu 295e54d144 virtio/vfio_user: add virtio_blk device support
Add vfio-user transport support based on existing virtio client
library.

Test steps using bdevperf:

Start `spdk_tgt` with created virtio_blk device:
1. build/bin/spdk_tgt
2. scripts/rpc.py bdev_malloc_create -b malloc0 $((512)) 512
3. scripts/rpc.py vfu_virtio_create_blk_endpoint vfu.0 --bdev-name malloc0 \
                                                 --cpumask=0x1 --num-queues=2 \
                                                 --qsize=256 --packed-ring

Start `bdevperf`:
1. test/bdev/bdevperf/bdevperf -r /var/tmp/spdk.sock.1 -g -s 2048 -q 128 -o 4096 \
                               -w randread -t 30 -m 0x2
2. scripts/rpc.py -s /var/tmp/spdk.sock.1 bdev_virtio_attach_controller --dev-type blk \
                  --trtype vfio-user --traddr vfu.0 VirtioBlk0
3. test/bdev/bdevperf/bdevperf.py -s /var/tmp/spdk.sock.1 perform_tests

Change-Id: I368c4becebbca57328a25fc750e41c353420e481
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13896
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-09-29 19:42:56 +00:00
..
aio bdev_aio: handle unexpected res=0 correctly 2022-09-16 13:32:40 +00:00
compress bdev/compress: make lb_size optional in bdev_compress_create 2022-07-04 07:23:26 +00:00
crypto util: made hexlify and unhexlify functions public 2022-09-06 07:17:13 +00:00
daos bdev/daos: introduction of daos bdev 2022-08-23 07:15:13 +00:00
delay check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
error Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
ftl ftl: check structure sizes for future ABI compatibility 2022-09-20 19:24:26 +00:00
gpt check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
iscsi bdev_iscsi: modify the timeout parameter name of iscsi opts 2022-09-09 13:02:25 +00:00
lvol bdev: send bdev reset based on outstanding IO and a new timeout parameter 2022-09-22 19:18:30 +00:00
malloc accel: Do not refer to the "framework" as "engine" 2022-09-06 07:16:17 +00:00
null Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme bdev/uring: Proper handling for conventional zones 2022-09-27 19:40:44 +00:00
ocf check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
passthru check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
pmem Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
raid bdev/raid: fix flush on raid0 2022-09-14 07:44:19 +00:00
rbd bdev/rbd: return a error value(-1) when create RBD bdev on non 2022-09-13 07:28:57 +00:00
split check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
uring bdev/uring: Proper handling for conventional zones 2022-09-27 19:40:44 +00:00
virtio virtio/vfio_user: add virtio_blk device support 2022-09-29 19:42:56 +00:00
xnvme bdev_xnvme: free bdev_xnvme structure after device is fully unregistered 2022-09-28 06:47:35 +00:00
zone_block bdev/uring: Proper handling for conventional zones 2022-09-27 19:40:44 +00:00
Makefile bdev/daos: introduction of daos bdev 2022-08-23 07:15:13 +00:00