Commit Graph

79 Commits

Author SHA1 Message Date
Daniel Verkamp
42eade49cc doc: update CSS layout to match spdk.io
Change-Id: I2c42fd3d626854fcdb0e70fdcc7d1b4ccb257c8c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-03-24 16:12:22 -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
Ben Walker
6d7b6e882c bdev/aio: The user now provides the names of AIO bdevs
The user now must choose the name for each AIO bdev. This
provides consistency for names across restarts.

Change-Id: I13ced1d02bb28c51d314512d60f739499b0c7d8d
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-20 15:18:03 -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
Ben Walker
d326998ce7 bdev/nvme: Names are now explicitly assigned by the user
Names for the NVMe bdevs are now assigned by the user.
This means the same name will always be assigned to the
same device, even across restarts.

Change-Id: If9825ec9abcb5236b4671bc44a825e4f0d704fe3
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-15 17:42:45 -07:00
Ben Walker
0829424e19 conf: No longer allow wildcard claiming of NVMe devices
All devices must be specified by BDF. Add support for scripts
to use lspci to grab the available NVMe device BDFs for the
current machine.

Change-Id: I4a53b335e3d516629f050ae1b2ab7aff8dd7f568
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2017-03-14 08:38:04 -07:00
John Kariuki
8e632c0722 nvmf: Added infiniband/RDMA prerequisites and core assignment configuration
Update the NVMe-oF getting started guide.
Added the infiniband/RDMA verbs and RDMA NIC configuration.
Also added a configuration section for Core Assignment.

Change-Id: I6f98a2156ca5c6050fecfbfb9afa797492fbf16d
Signed-off-by: John Kariuki <John.K.Kariuki@intel.com>
2017-03-06 15:51:58 -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
956ff9b255 doc: add Roadmap link to header
Update to match spdk.io.

Change-Id: I05ef119d9756a5af77d22c5ca0db438b549dbbf8
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-02-17 15:18:30 -07:00
Daniel Verkamp
888c105bd9 doc: update footer to match spdk.io
The footer is just a duplicate of the links in the header, so it has
been removed.

Change-Id: I9c25669fe8429d84b5f48d037a4e6848599fb7bf
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-02-17 15:18:30 -07:00
Ziye Yang
86f80d2d70 doc, nvmf: change discovery to discover
Change-Id: If545f24d4737c190bc90e4a82155cbddbfef5bb0
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2017-02-09 09:56:36 -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
72ad2c0173 doc: cut out whitespace between header and content
Change-Id: Ic839ac1466f3f16c1a2c6b2066209b580ced8058
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-30 14:08:06 -07:00
Daniel Verkamp
efccac8c7e bdev/nvme: remove NvmeLunsPerNs and LunSizeInMB
These were only intended for testing and should be replaced by a virtual
blockdev that can be layered on top of any kind of bdev.

Change-Id: I3ba2cc94630a6c6748d96e3401fee05aaabe20e0
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-30 13:51:18 -07:00
Changpeng Liu
919c4b540e doc/nvmf: add NVMeoF kernel based initiator usage
Change-Id: Icea0d7fbf1801cc4df66392ece5ac67e0d9584c0
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
2017-01-25 16:31:43 -07:00
Daniel Verkamp
b23409854c doc: point Documentation link at index page
Rather than hard-coding the spdk.io/doc link, change the Doxygen header
to output a link to index.html (the main Doxygen page) so that it will
always point within the current doc tree.

This is important for archived release versions of the documentation,
since their documentation link should point at their own main page, not
the current master doc.

Change-Id: I788eee995543e425c24ff787f3f13956c5b813b7
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-18 16:07:31 -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
0f6baa967e doc: link to Doxygen's file list from main page
Change-Id: I703732d28b73d03fd0d43017cd262af4a2d666c2
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-17 17:39:01 -07:00
Daniel Verkamp
ac89a03cab doc: mark Documentation tab as active in header
Change-Id: I2610d74e4b45da4d36a9557434c970b194046085
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-17 17:34:18 -07:00
Daniel Verkamp
bafb1441d7 doc: remove Doxygen footer
This cleans up the output HTML and stylistically matches the main
spdk.io layout better.

Change-Id: I630e895e5cae917985081fc53d8d809b8b6c2844
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-17 16:54:31 -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
Daniel Verkamp
efa8a3ebde doc: update header to match current spdk.io
Change-Id: I39b63ee9ab823a7b9f287d71cb14b036943a00f2
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-17 13:41:03 -07:00
Daniel Verkamp
360a3da3d7 doc/nvme: add admin functions to Key Functions
Columns needed to be adjusted to fix the longer function names.

Change-Id: Id5336a2e9b0ba5f9bcaa90228ea641cfd4a7581c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-01-13 12:37:41 -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
Daniel Verkamp
a3658ab042 Change doc link to new spdk.io/doc location
Also make sure all links point to the canonical www.spdk.io, not
spdk.io, to avoid extra redirects.

Change-Id: I5696abf8569c36f9be741bc932e320d8b7156875
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-12-19 15:57:12 -07:00
Daniel Verkamp
6db4f2b072 doc: update link to renamed deallocate function
Change-Id: Ifc93a761635a2c0922813d0f8bb3efbc1ab6136b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-12-08 10:01:08 -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
Daniel Verkamp
c01291b215 doc: remove link to nvme_driver_integration page
The NVMe-specific driver integration docs were removed as part of commit
bfdc02ab48 (nvme: Eliminate nvme_impl.h
and use the swappable env lib.), so the link is dead now.

Change-Id: I4210abb6d1ab4bdc2be42cb4f28ccbabafa69176
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-11-01 09:43:32 -07:00
Cunyin Chang
72b4cda87f bdev: remove unused field in data struct nvme_bdf_whitelist
Change-Id: Ib21ef75515277d84cb12cdb6733137cbbe2e4ebc
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
2016-10-14 01:55:16 +08: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
Daniel Verkamp
1a37acda67 eofnl: check for extra trailing newlines
Enforce exactly one trailing \n, and fix all of the existing cases.

Change-Id: I6218e4700e90aeb647eaee78089530c79993c8c8
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-10-11 13:30:33 -07:00
Ben Walker
6b1e4e732d Drop libpciaccess and switch to DPDK PCI
This patch also drops support for automatically unbinding
devices from the kernel - run scripts/setup.sh first.

Our generic pci interface is now hidden behind include/spdk/pci.h
and implemented in lib/util/pci.c. We no longer wrap the calls
in nvme_impl.h or ioat_impl.h. The implementation now only uses
DPDK and the libpciaccess dependency has been removed. If using
a version of DPDK earlier than 16.07, enumerating devices
by class code isn't available and only Intel SSDs will be
discovered. DPDK 16.07 adds enumeration by class code and all
NVMe devices will be correctly discovered.

Change-Id: I0e8bac36b5ca57df604a2b310c47342c67dc9f3c
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-10-04 15:59:00 -07:00
Ben Walker
f4140ad023 nvme: Change the deallocate interface to generic dsm
Provide a convenience wrapper for general purpose dataset
management commands. The previous wrapper for deallocate
was difficult to use correctly and only for deallocate.

Note that the name is "dataset_management" as opposed to
"data_set_management" to match the NVMe specification.
It's questionable whether "dataset" is valid English, but
it is best to match the specification.

Change-Id: Ifc03d66dbabeabe8146968cf8a09f7ac3446ad68
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-10-04 14:36:09 -07:00
Daniel Verkamp
c20aa93181 doc: add README.md for Doxygen and online docs
Change-Id: I9af8a77ac1faccf950669f8e61c6ea4d596209c7
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-10-03 14:23:15 -07:00
Ziye Yang
c1341b0718 bdev: Add RBD support in lib/bdev
This patch will add a new bdev module, rbd.
It can make ceph rbd as the backend of iSCSI
target.

Change-Id: Id5eb3b159ee607052e3c33a2e59d721739fd9977
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
2016-09-30 15:26:28 -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
33dde51f83 doc: organize Key Functions into tables
Change-Id: I21ff868ddbea4e6819f74b7b01c344abe532ee19
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-15 16:07:26 -07:00
Daniel Verkamp
0d8aaedba6 doc: replace another "NVMf" with NVMe over Fabrics
Change-Id: I70ce4d61539b5c27d7672b2bac04c6b33a7ca51b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-15 16:07:26 -07:00
Daniel Verkamp
0fc7daffe5 Replace "NVMf" with "NVMe over Fabrics" in docs
Use the final official spec name rather than a non-standard
abbreviation.

Change-Id: I4d797294be35b2fbf7b39570ea3246eb71c8d8ce
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-08 16:35:11 -07:00
Ben Walker
9ac860437a nvmf: Update the getting started guide
Change-Id: Iec2e19f487f5f0da141f0615be0aff9b7f9c3f2e
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-08-05 09:04:22 -07:00