lvol: Documentation

Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com>
Change-Id: I23e14bd1568dade96e5503598a3e360c951d6d78
Reviewed-on: https://review.gerrithub.io/369250
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
Piotr Pelplinski 2017-07-12 16:58:55 +02:00 committed by Jim Harris
parent 27f44662ac
commit 5226e9082d
3 changed files with 34 additions and 0 deletions

View File

@ -793,6 +793,7 @@ INPUT = ../include/spdk \
event.md \
ioat.md \
iscsi.md \
lvol.md \
nvme.md \
nvme-cli.md \
nvmf.md \

View File

@ -155,3 +155,8 @@ kill $nbd_pid
# the first partition will be automatically exposed as
# Nvme0n1p1 in SPDK applications.
~~~
## Logical Volumes
The SPDK lvol driver allows to dynamically partition other SPDK backends.
No static configuration for this driver. Refer to @ref lvol for detailed RPC configuration.

28
doc/lvol.md Normal file
View File

@ -0,0 +1,28 @@
# Logical volume store {#lvolstore}
A logical volume store is an SPDK blobstore with a special super blob denoting the blobstore.
This super blob is to different from SPDK blobstores used for BlobFS.
# Logical volume {#lvol}
A logical volume is an SPDK blob created from an lvolstore.
An lvol is uniquely identified by its blob ID and the UUID of the lvolstore from which it was created.
# Logical volume block device {#vdev_lvol}
Representation of an SPDK block device (spdk_bdev) with an lvol implementation. A logical volume block device translates generic SPDK block device I/O (spdk_bdev_io) operations into the equivalent SPDK blob operations.
# RPC overview
There are few logical volumes specific calls.
- construct_lvol_store bdev_name
Constructs lvolstore on specified bdev
- destroy_lvol_store bdev_name
Destroy lvolstore on specified bdev
- construct_lvol_bdev uuid size
Constructs lvol bdev on lvolstore specified by uuid with specified size
- resize_lvol_bdev bdev_name size
Resizes specified lvol bdev
Note that destroying lvol store requires using call destroy_lvol_store, while deleting single lvol requires using delete_bdev rpc call.