]> git.proxmox.com Git - mirror_qemu.git/commit - include/hw/virtio/vhost-user-blk.h
vhost-user-blk: introduce a new vhost-user-blk host device
authorChangpeng Liu <changpeng.liu@intel.com>
Thu, 4 Jan 2018 01:53:32 +0000 (09:53 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 18 Jan 2018 19:52:37 +0000 (21:52 +0200)
commit00343e4b54ba0685e9ebe928ec5713b0cf7f1d1c
treed8827b2e2acab5c8803282db4bbee5c3808ca399
parent4c3e257b5e6ccba6bd34f780fab8008e0d79680a
vhost-user-blk: introduce a new vhost-user-blk host device

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>
default-configs/pci.mak
default-configs/s390x-softmmu.mak
hw/block/Makefile.objs
hw/block/vhost-user-blk.c [new file with mode: 0644]
hw/virtio/virtio-pci.c
hw/virtio/virtio-pci.h
include/hw/virtio/vhost-user-blk.h [new file with mode: 0644]