52 Commits

Author SHA1 Message Date
Dariusz Stojaczyk
8a989c7c1e doc: add a brief concept page about vhost
Change-Id: Id5adc5b081f3624e6f921fe2d5a867f76aefa861
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/411200
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-05-30 17:40:04 +00:00
Karol Latecki
83795a1600 spdkcli: initial version with bdev management
Initial version for SPDKCli
Possible basic management of:
- Bdevs: malloc, nvme, aio, lvol
	create / delete operations.
- Lvol stores:
	create / delete operations.

Adding dependency to pkgdep.sh.

Change-Id: I1a03d7660dad0335e25734b8ffb90592a5b337c2
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/405039
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2018-04-20 13:25:21 -04:00
Daniel Verkamp
1ada8f4fc7 doc: enable Doxygen search capability
Change-Id: I382e1ee5d55e65d22e273e2fa248f6b73cd5934b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/403746
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-04-03 18:01:50 -04:00
Stephen Bates
b94155c853 docs: Add documentation for peer-2-peer
In 35a331a9 we added a new API that enables peer-2-peer (P2P) copies
between NVMe SSDs using Controller Memory Buffers (CMBs) that support
DMA operations. Add documentation for the API, the example application
(cmb_copy) and for P2P setup and operation.

Note that this new API is currently marked experimental.

Change-Id: Ifeedb86d5b72b3aa7a6803b87c4d4709c54108f8
Signed-off-by: Stephen Bates <sbates@raithlin.com>
Reviewed-on: https://review.gerrithub.io/401961
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-03-02 13:47:46 -05:00
GangCao
cf9e099862 doc: Add the SPDK NVMe-oF Target Programming Guide
Add the SPDK NVMe-oF target programming guide based
on the most recently implementations of SPDK NVMe-oF
library.

Change-Id: Idcd5a5ba9a2e4e04392adeb6230d4b18e98dd8e5
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/393631
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
2018-02-02 17:41:20 -05:00
Ben Walker
daf33a0921 doc: Programming guide for block device abstraction layer
Change-Id: Ib27462769e146a2b4b69302eac386255262081f6
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/397286
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-02-02 17:37:30 -05:00
Ben Walker
937f1c2bc3 doc: Add some documentation about SSD internals
Change-Id: I0b215aea443782bdf8ee6772dd2db562597f0d3c
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/394116
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2018-01-30 19:26:29 -05:00
Ben Walker
ecc1da8ad3 doc: Attempt to explain I/O channels
Attempt, to the best of my ability, to explain
I/O devices, threads, I/O channels, asynchronous C
programming best practices, and other related
concepts.

Change-Id: Idd6bdb3a06df71a642b88cdaa7cc37c13655753b
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/393200
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-01-17 15:11:22 -05:00
Ben Walker
495651d1ae doc: Add an overview of user space drivers
This is designed to address some of the more basic
questions we often field.

Change-Id: I53ead3044abf8add0c912e0ce9721e995ae7a6e7
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/392983
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-01-17 15:11:22 -05:00
Ben Walker
d5d24e3e9d doc: Add an overview page for the project
Change-Id: I21b793c27aa7f24ffa1235c4a2c43d594148a689
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/392982
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-01-05 12:47:01 -05:00
Daniel Verkamp
8bbd56fb64 doc: enable Doxygen tree view navigation
This requires an override of Bootstrap's default box-sizing: border-box
on the nav bar elements so Doyxgen's tree view layout isn't broken.

Change-Id: I38d1df10fef8d90e245bbd880cf85686c1aee470
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/384382
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-10-31 18:00:12 -04:00
Dariusz Stojaczyk
71ea826507 bdev_virtio: added doc page
Change-Id: Ia88ae52117068ac395dad9ad3d7ac818e41077fb
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/380956
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-10-20 19:44:23 -04:00
Daniel Verkamp
415dcbf8cd doc: add JSON-RPC docs for nvmf_tgt methods
This is a first pass at adding documentation for JSON-RPC methods.

Currently, this covers the following nvmf_tgt RPC methods:
- get_nvmf_subsystems
- construct_nvmf_subsystem
- delete_nvmf_subsystem

Change-Id: I51f74eed52e68fef8307a278b2e36c326689bf92
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/381559
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-10-12 16:37:52 -04:00
Piotr Pelplinski
5226e9082d 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>
2017-09-14 19:31:02 -04:00
Ben Walker
de191b8fb1 doc: Move vagrant documentation to main doc/ page
This makes it easier to find from the main landing page.

Change-Id: Ic142427cede869c9cbfc6c265c8e4625731f8ce1
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/376232
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-08-31 17:15:52 -04:00
Ben Walker
735f7a5cbc doc: Add a getting started guide
This closely mirrors what is in README.md, but
makes it part of the main doc/ pages. Ultimately,
I think README.md should link here to reduce duplicated
documentation.

Change-Id: I930bada7d7c79d202b8503675511cfb824ec86e2
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/376225
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-08-31 17:15:52 -04:00
Daniel Verkamp
0269601f77 doc: include changelog in documentation
This copies the top-level CHANGELOG.md into a temporary doc/changelog.md
file so it can add the Doxygen-specific {#changelog} name tag.

Change-Id: I2fb3087dc15036e58cb7719f67c434897c39821c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/375251
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-08-28 13:44:13 -04:00
GangCao
b98569fd4f doc: add the documentation for nvme-cli support
Change-Id: Ifd662c6bf6f7d337149c25bb72a9471713db0420
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/369517
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-07-19 13:52:14 -04:00
Ben Walker
4ee35e1f35 Add documentation explaining memory management
Change-Id: Ifce9507fc327ee090d4a825323df928d440fe025
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/362273
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-06-15 14:11:58 -04:00
Daniel Verkamp
2ba947380f doc: generate PDF version of Doxygen output
Change-Id: Id21c369a7c6a6e73894b8458dfefd3c8c411211e
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-30 07:58:26 -07:00
Daniel Verkamp
1a787169b2 doc: flatten Markdown docs into chapter-per-file
Doxygen interprets each Markdown input file as a separate section
(chapter).  Concatenate all of the .md files in directories into a
single file per section to get a correctly-nested table of contents.

In particular, this matters for the navigation in the PDF output.

Change-Id: I778849d89da9a308136e43ac6cb630c4c2bbb3a5
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-30 07:58:26 -07:00
Daniel Verkamp
33c81b8bce doc: simplify HTML header and stylesheet
Drop the header and footer that matched spdk.io; the official website
doc generation will drop in the correct header when the docs are
generated.  Also restore the Doxygen header bar to allow navigation on
locally-built docs.

Change-Id: I711d109dc34866917cbaf2cb0045375b0ceb11b0
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-28 13:13:48 -07:00
Daniel Verkamp
1b627af8fd doc: update Doxyfile for Doxygen 1.8.13
Automatically updated with 'doxygen -u'.

Change-Id: I22316a5298d691a288104ca1cab9d589bc0ae177
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-04-28 11:05:40 -07:00
Piotr Pelplinski
dfdb6edd3f vhost: Getting Started for SPDK vhost
This patch adds getting started guide for SPDK vhost.
This document describes how to build and run vhost application.

Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Icab3ad75f1ebf4d53153fb7070151a7244f1dfa9
2017-03-29 13:09:57 -07:00
Ben Walker
fcb333e5b5 blob: Add a design document
This outlines the basic concepts in the blobstore.

Change-Id: Ib44c3bd5c04ddb0cc06eeb0e50ae6ff1bdf94dd5
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-27 15:35:51 -07:00
Jim Harris
1edd9bf3e4 blobfs: Add a lightweight filesystem built on the blobstore
This is the initial commit for "blobfs", a lightweight
filesystem built on top of the SPDK blobstore.

Also included in this patch:

1) a shim for using SPDK bdevs as the backing store for
   SPDK blobstore/blobfs
2) documentation for using blobfs as the storage engine
   with RocksDB
3) scripts for running a set of workloads and collecting
   profiling data with RocksDB and blobfs

See doc/blobfs/getting_started.md included in this commit
for more details on blobfs, including some of the current
limitations.


Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I2a6d3d4b87236730051228ed62c0c04e04c42c73
2017-03-24 14:15:45 -07:00
Cunyin Chang
1054432d06 doc: Add initial documentation for iscsi hotplug.
Change-Id: I432b83c9bf4a39cd061579d0318b91903299e080
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2017-03-17 16:06:26 -07:00
Cunyin Chang
3979c15f66 doc: Add initial documentation for nvme hotplug.
Change-Id: I67303d07aee931d19b3a9ae1e618d22fc6de9f58
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2017-03-17 16:06:20 -07:00
GangCao
7f819108bd doc: add the documentation for NVMe Multi-Process feature
Change-Id: Iace3e4f1804be19f46044ee3b2530e49c8adf4d8
Signed-off-by: GangCao <gang.cao@intel.com>
2017-03-17 14:44:03 -07:00
Jim Harris
4a74580112 bdev: add a getting started guide
For now, this contains the documentation for configuring
block devices in configuration files.  This file can then
be used a common reference for other getting started guides -
iscsi, vhost and nvmf targets.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ie6f6c0b3f36dd3fdf418b904462c81a1696b9694
2017-03-16 05:43:28 -07:00
Daniel Verkamp
eeb08505d9 doc: add a page about NVMe library NVMe-oF support
Change-Id: I64afae66273a487c7232bb22f380e324e725d4e2
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-02-23 17:49:17 -07:00
Daniel Verkamp
b71c31335d event: move component descriptions to doc/ and rewrite
Change-Id: I53b061933319204f9153423fa18532712676287a
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-31 14:50:29 -07:00
Daniel Verkamp
997582bf2c doc: delete Doxygen header bar
It doesn't provide any useful functionality, and it clashes with the
spdk.io site theme.

Change-Id: I2a8019956312b8726e0d959fd944a6664b9e6887
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-18 10:06:40 -07:00
Daniel Verkamp
93ab7c31e4 doc: move porting guide into doc/ and add to index
This moves all the documentation under the doc/ tree for consistency.

Replace the link to include/spdk/env.h to raw text - the Doxygen
Markdown parser will automatically turn it into a link since it is a
Doxygen input file.

Change-Id: If6bde1cfc965cada2c741acd5505026545ad4cf7
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-17 16:25:04 -07:00
Ben Walker
6644241f7e docs: Match doxygen output to spdk.io
Change-Id: Ic042024915bfbee1028154ad5bad11cd14956e51
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-01-09 15:52:51 -07:00
Ben Walker
0c01cc5664 doc: Convert iscsi doc to markdown
Change-Id: I70da378361bd82da7b42f4ad5a5560baf70361f2
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-01-05 16:21:28 -07:00
Ben Walker
4aba7b498d doc: Convert nvmf doc to markdown
Change-Id: I1a1c8570f4b2b2cd6074a4bdd6102751f6239715
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-01-05 16:21:27 -07:00
Ben Walker
58ca5c52ff doc: Convert ioat doc to markdown
Change-Id: Ic0f8fa4aa57d6fc58813fcbb6d72ff5477ab293f
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-01-05 08:33:59 -07:00
Ben Walker
0be12ad7da doc: Convert nvme docs to markdown
Change-Id: Ifc9c79886f05c6a3abd1553021a65724e53dd5c0
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-01-05 08:33:59 -07:00
Ben Walker
55ca1581d6 doc: Convert directory structure to markdown
Change-Id: I3af62591658ccd2ae664d73ab5a680a9725469e7
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-01-05 08:33:59 -07:00
Ben Walker
98149ec0a7 doc: Convert mainpage to Markdown
Convert to markdown. Our other GitHub files are in markdown
and doxygen natively supports it, so begin converting the
documentation entirely to markdown to minimize the number
of formats we have to comprehend.

Also rename it to index.md to match the other top level
files. Index and mainpage are interchangeable terms in
Doxygen.

Change-Id: I0f7274b47de6411f8d2d09d987fd1344e01a3986
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-01-05 08:33:59 -07:00
Daniel Verkamp
025f20fbdd doc: tweak some Doxygen configuration parameters
- Show undocumented members so that they at least show up in the
output, even if they don't have any associated doc string.  Everything
in the public headers should be public API.

- Disable include graph generation.  This is fairly useless for our
purposes, since only public API headers are included in the Doxygen
input list, and we don't need to see how they include each other.

Change-Id: Ie1e2d5a93c1ae526d5867e0707faf40e32d1c969
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-12-19 15:58:00 -07:00
Ben Walker
4c0b0ddbda doc: Begin documenting the directory structure
This adds a document that begins to describe the SPDK
repository directory structure. Much of the document
still needs to be written.

Change-Id: I8bb6659e5e3e9a22e6bc2d3374d41b16a51614f8
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-12-07 16:03:16 -07:00
Ben Walker
bfdc02ab48 nvme: Eliminate nvme_impl.h and use the swappable env lib.
Change-Id: Ibbc557b732d5b0858a2922a7a442c4b17a0d579a
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-10-11 13:34:09 -07:00
Changpeng Liu
9d9dc0389f iscsi: add document description about iSCSI target
Change-Id: Iaba08f45461643cbb231d50580788d24ea34a431
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
2016-09-02 09:21:58 -07:00
Daniel Verkamp
ec89af7e2c nvmf: add some basic user docs
Change-Id: I543ddcdf1e761739e51322d155471a62acc6433c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-06-07 10:16:08 -07:00
Daniel Verkamp
149ee30ee8 doc/nvme: move pages to separate text files
This makes it easier to find the larger doc comments that produce separate
pages.

It also allows removing the lib/nvme directory from the Doxyfile, so
only the public API headers are used to generate documentation.

Change-Id: I8c46edb8067a91dda5b23fb0864efd3dd8aaeba5
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-29 10:49:06 -07:00
Daniel Verkamp
6d13f8d555 doc: create per-module directories
Prepare for adding more text files per module.

Change-Id: If08c61e2572c802d2d75a0c1b2d19d0f275885e3
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-29 10:34:54 -07:00
Daniel Verkamp
c843092091 doc: add default Doxygen CSS
Prepare for customizations.

Change-Id: If35d604e71d5cfe814494d542c6ce4c632ac9df6
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-25 14:00:15 -07:00
Daniel Verkamp
32526ba69f doc: enable Doxygen autobrief
This treats the first line of each doc comment as the brief for that
function automatically, rather than requiring an explicit \brief tag.

Change-Id: Ia264c1611ca4b367aeda2b7500cd60c4b72fb364
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-25 14:00:15 -07:00