This commit introduces a new vhost-user device for block, it uses a chardev to connect with the backend, same with Qemu virito-blk device, Guest OS still uses the virtio-blk frontend driver. To use it, start QEMU with command line like this: qemu-system-x86_64 \ -chardev socket,id=char0,path=/path/vhost.socket \ -device vhost-user-blk-pci,chardev=char0,num-queues=2, \ bootindex=2... \ Users can use different parameters for `num-queues` and `bootindex`. Different with exist Qemu virtio-blk host device, it makes more easy for users to implement their own I/O processing logic, such as all user space I/O stack against hardware block device. It uses the new vhost messages(VHOST_USER_GET_CONFIG) to get block virtio config information from backend process. Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
19 lines
605 B
Makefile
19 lines
605 B
Makefile
common-obj-y += block.o cdrom.o hd-geometry.o
|
|
common-obj-$(CONFIG_FDC) += fdc.o
|
|
common-obj-$(CONFIG_SSI_M25P80) += m25p80.o
|
|
common-obj-$(CONFIG_NAND) += nand.o
|
|
common-obj-$(CONFIG_PFLASH_CFI01) += pflash_cfi01.o
|
|
common-obj-$(CONFIG_PFLASH_CFI02) += pflash_cfi02.o
|
|
common-obj-$(CONFIG_XEN) += xen_disk.o
|
|
common-obj-$(CONFIG_ECC) += ecc.o
|
|
common-obj-$(CONFIG_ONENAND) += onenand.o
|
|
common-obj-$(CONFIG_NVME_PCI) += nvme.o
|
|
|
|
obj-$(CONFIG_SH4) += tc58128.o
|
|
|
|
obj-$(CONFIG_VIRTIO) += virtio-blk.o
|
|
obj-$(CONFIG_VIRTIO) += dataplane/
|
|
ifeq ($(CONFIG_VIRTIO),y)
|
|
obj-$(CONFIG_VHOST_USER_BLK) += vhost-user-blk.o
|
|
endif
|