diff --git a/CHANGELOG.md b/CHANGELOG.md index bc660e553..f99687559 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -106,6 +106,14 @@ The persistent memory (PMDK) bdev module is now enabled using --with-pmdk instea --with-nvml. This reflects the renaming of the persistent memory library from NVML to PMDK. +### Virtio Block driver + +A userspace driver for Virtio Block devices has been added. It was built on top of the +[Virtio](http://www.spdk.io/doc/virtio.html) library and can be managed similarly to +the Virtio SCSI driver. See the +[Virtio Block](http://www.spdk.io/doc/bdev.html#bdev_config_virtio_blk) reference for +more information. + ## v18.01: Blobstore Thin Provisioning ### Build System diff --git a/doc/bdev.md b/doc/bdev.md index 77c8bbb05..326a6a0b5 100644 --- a/doc/bdev.md +++ b/doc/bdev.md @@ -304,3 +304,16 @@ Virtio-SCSI devices can be removed with the following command `rpc.py remove_virtio_scsi_bdev VirtioScsi0` Removing a Virtio-SCSI device will destroy all its bdevs. + +# Virtio Block {#bdev_config_virtio_blk} + +The Virtio-Block driver can expose an SPDK bdev from a Virtio-Block device. + +Virtio-Block bdevs are constructed the same way as Virtio-SCSI ones. + +`rpc.py construct_virtio_user_blk_bdev /tmp/virtio.0 VirtioBlk0 --vq-count 2 --vq-size 512` + +`rpc.py construct_virtio_pci_blk_bdev 0000:01:00.0 VirtioBlk1` + +Since they export only a single bdev, the Virtio-Block driver doesn't offer additional +remove/destruct RPC calls. @ref bdev_ug_delete_bdev should be used instead. diff --git a/doc/virtio.md b/doc/virtio.md index ccf921d59..7b5deadd5 100644 --- a/doc/virtio.md +++ b/doc/virtio.md @@ -16,5 +16,5 @@ and context switching overhead of QEMU and guest kernel, significantly boosting the overall I/O performance. This Virtio library is currently used to implement two bdev modules: -@ref bdev_config_virtio_scsi and Virtio Blk. These modules will export generic -SPDK block devices usable by any SPDK application. +@ref bdev_config_virtio_scsi and @ref bdev_config_virtio_blk. +These modules will export generic SPDK block devices usable by any SPDK application.