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>
|
||
|---|---|---|
| .. | ||
| aarch64-linux-user.mak | ||
| aarch64-softmmu.mak | ||
| aarch64_be-linux-user.mak | ||
| alpha-linux-user.mak | ||
| alpha-softmmu.mak | ||
| arm-linux-user.mak | ||
| arm-softmmu.mak | ||
| armeb-linux-user.mak | ||
| cris-linux-user.mak | ||
| cris-softmmu.mak | ||
| hppa-linux-user.mak | ||
| i386-bsd-user.mak | ||
| i386-linux-user.mak | ||
| i386-softmmu.mak | ||
| lm32-softmmu.mak | ||
| m68k-linux-user.mak | ||
| m68k-softmmu.mak | ||
| microblaze-linux-user.mak | ||
| microblaze-softmmu.mak | ||
| microblazeel-linux-user.mak | ||
| microblazeel-softmmu.mak | ||
| mips-linux-user.mak | ||
| mips-softmmu-common.mak | ||
| mips-softmmu.mak | ||
| mips64-linux-user.mak | ||
| mips64-softmmu.mak | ||
| mips64el-linux-user.mak | ||
| mips64el-softmmu.mak | ||
| mipsel-linux-user.mak | ||
| mipsel-softmmu.mak | ||
| mipsn32-linux-user.mak | ||
| mipsn32el-linux-user.mak | ||
| moxie-softmmu.mak | ||
| nios2-linux-user.mak | ||
| nios2-softmmu.mak | ||
| or1k-linux-user.mak | ||
| or1k-softmmu.mak | ||
| pci.mak | ||
| ppc-linux-user.mak | ||
| ppc-softmmu.mak | ||
| ppc64-linux-user.mak | ||
| ppc64-softmmu.mak | ||
| ppc64abi32-linux-user.mak | ||
| ppc64le-linux-user.mak | ||
| ppcemb-softmmu.mak | ||
| s390x-linux-user.mak | ||
| s390x-softmmu.mak | ||
| sh4-linux-user.mak | ||
| sh4-softmmu.mak | ||
| sh4eb-linux-user.mak | ||
| sh4eb-softmmu.mak | ||
| sound.mak | ||
| sparc-bsd-user.mak | ||
| sparc-linux-user.mak | ||
| sparc-softmmu.mak | ||
| sparc32plus-linux-user.mak | ||
| sparc64-bsd-user.mak | ||
| sparc64-linux-user.mak | ||
| sparc64-softmmu.mak | ||
| tilegx-linux-user.mak | ||
| tricore-softmmu.mak | ||
| unicore32-softmmu.mak | ||
| usb.mak | ||
| x86_64-bsd-user.mak | ||
| x86_64-linux-user.mak | ||
| x86_64-softmmu.mak | ||
| xtensa-softmmu.mak | ||
| xtensaeb-softmmu.mak | ||