Commit 30f369f7 authored by Dariusz Stojaczyk's avatar Dariusz Stojaczyk Committed by Jim Harris
Browse files

doc/virtio: add Virtio Block doc



I decided to use 'Virtio Block' as the title. Virtio
spec uses the same name alongside SCSI.

```
5 Device Types
[...]
 5.2 Block Device
 5.6 SCSI Host Device
```

Also added a CHANGELOG note.

Change-Id: Ie2eabd053213da776c78a8d938a621b42e6d5558
Signed-off-by: default avatarDariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/408829


Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJohn Kariuki <John.K.Kariuki@intel.com>
Reviewed-by: default avatarPawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: default avatarMaciej Szwed <maciej.szwed@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 13030786
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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
+13 −0
Original line number Diff line number Diff line
@@ -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.
+2 −2
Original line number Diff line number Diff line
@@ -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.