Commit Graph

866 Commits

Author SHA1 Message Date
Ben Walker
02d75f6237 thread: Move threading abstraction code out of util
This makes more sense as a first class library.

Change-Id: Ibd5c578f8708bd8c7d83fe1629e97c9a3316b56b
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/414698
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>
Reviewed-by: Madhu Pai <mpai@netapp.com>
2018-06-12 15:24:07 +00:00
Daniel Verkamp
57ae6bf646 nvmf: allow overriding namespace UUID in RPCs
The default is still to retrieve the bdev UUID, but now the end user may
also specify their own UUID if desired when adding NVMe-oF target
namespaces via construct_nvmf_subsystem or nvmf_subsystem_add_ns.

Change-Id: I950eb84b9fdecbc2eae8ca39d9acd6acabe8d31d
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/414269
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>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2018-06-11 07:41:39 +00:00
Daniel Verkamp
853770870c doc: reorganize programmer guides in index.md
Move several programmer guides into the correct section.

The blobstore programmer's guide is already linked from the Programmer
Guides section above; remove it from General Information.

Also add a link to the logical volumes documentation and rename it to
remove the "Introduction", since this doesn't fit with the naming of
other similar chapters.

Change-Id: I1eed7d2588851d67c067a2bcd568b3b071816679
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/413851
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-06-06 17:21:20 +00:00
Chen Wang
86637cae4f doc/vhost.md: update the RPC method for remove_vhost_scsi_target
Method "remove_vhost_scsi_dev" changes to "remove_vhost_scsi_target".

Change-Id: I1e368c7cf2b16accd3431100e384c1d868e04a47
Signed-off-by: Chen Wang <chenx.wang@intel.com>
Reviewed-on: https://review.gerrithub.io/413873
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-06-06 16:20:14 +00:00
Tomasz Kulasek
c9476f1b1b doc/lvol: add diagrams to clone-snapshot doc
Change-Id: I1cac468c58d84ed03bb646b8485e92fdb533049e
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Reviewed-on: https://review.gerrithub.io/413254
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
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>
2018-06-04 17:17:23 +00:00
Dariusz Stojaczyk
026c69db1a doc/vhost_processing: replace the ASCII diagram with an SVG one
All credits go to Tomasz.

Change-Id: I0664aad9abb87f9d04c243654f308c22f968cef2
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/412119
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2018-05-30 17:40:04 +00:00
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
Yanbo Zhou
64ccd4b95b bdev: a new public function to get the I/O statistics of bdev
Add a new function and its RPC caller. By using it, we can
get the statistics of all the bdevs or the specified bdev.

Meanwhile, with this patch, the open source tool 'sysstat/iostat'
can support for SPDK. The 'iostat' tool can call this function to
get the statistics of all the SPDK managed devices via the rpc
interface.

Change-Id: I135a7bbd49d923014bdf93720f78dd5a588d7afa
Signed-off-by: Yanbo Zhou <yanbo.zhou@intel.com>
Reviewed-on: https://review.gerrithub.io/393130
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-05-23 17:49:21 +00:00
Dariusz Stojaczyk
addd386d81 doc/virtio: mention 2MB hugepage support
Also updated the CHANGELOG.

Change-Id: I9040505f689aab51fc26ab47d5a10438e35f9fc4
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/408830
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-04-25 17:25:49 +00:00
Dariusz Stojaczyk
30f369f703 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: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/408829
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-04-25 17:25:49 +00:00
Dariusz Stojaczyk
c769e03fd7 doc/virtio: remove Virtio-SCSI references from lib/virtio doc
Also removed Virtio-SCSI 1GB hugepage limitation.

Change-Id: Ife200cb7671e2c6366fbfcc679aa67bbc1c30457
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/408828
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>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-04-24 21:48:30 +00:00
Daniel Verkamp
f9d52c9ebd lvol: add destroy_lvol_bdev RPC method
This is the first step toward fixing the behavior of the lvol bdev
module so that it handles spdk_bdev_unregister() correctly.

Currently, when an lvol bdev is unregistered, this causes the associated
lvol to be deleted; this isn't the desired behavior, since
spdk_bdev_unregister() is just meant to drop the currently-exposed bdev,
as in a hot-unplug event, not destroy the backing storage.

The current implementation of the new destroy_lvol_bdev method still
calls into the exsting (broken) spdk_bdev_unregister() path, but this at
least lets us fix the existing delete_bdev RPC callers that really
intended to destroy the lvol.

The next step is to make vbdev_lvol_destroy() call spdk_lvol_destroy()
instead of unregistering the bdev, which will require cleanup in the
generic lvol layer to remove the close_only flag.

Change-Id: Ic4cb51305d31f6d7366a82ba7bf7b19ebbcd3e9c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/408084
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-04-24 21:33:56 +00:00
GangCao
9c7d842cc4 bdev/qos: update the RPC method to make 0 iops mean unlimited
Unlimited I/O per second is equivalent to disabling QoS.

Change-Id: I03a489dd18b5d1a9a42f7853248911e97b7a211e
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/408291
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-04-23 23:23:42 +00:00
Seth Howell
cb0f48791c doc/nvmf: update readme to include nqn definition
Change-Id: Ic3f0f3d0a2dd51f911647912e2a9e899615a2299
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/407509
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-23 16:17:09 +00:00
Maciej Szwed
897bb3ac7f lvol/doc: update lvol documentation
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: Ib42a520b9ac2783c96dbe73d1f8b22a5ac9a5b74

Reviewed-on: https://review.gerrithub.io/407558
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-04-20 17:19:20 -04:00
Changpeng Liu
b4ce4e378c doc/vhost: add vhost-nvme target description
Change-Id: I633e2296ae80c213e0e27fd669e184eadb9978ed
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/396090
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2018-04-20 15:24:50 -04: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
GangCao
ffba4fdbc3 bdev/qos: add RPC method to set QoS at runtime
This patch adds a new RPC method to configure QoS on bdev
at runtime.

For example:

set_bdev_qos_limit_iops Malloc0 20000 --> Enable QoS on this
block device with 20000 IOPS rate limiting.

Change-Id: I1ee8b313b769fb5a664820f4ba827e0230be4b5d
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/393255
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-04-19 13:47:54 -04:00
Tomasz Zawadzki
ac277af97d test/config: add install VPP in vm_setup.sh
This patch adds compilation and installation of VPP.

Note that it removes one of VPP config files, that is
responsible for setting up hugepages. It is already done
with setup.sh script.
Parameters kernel.shmmax and vm.max_map_count were set
to low count and causing issues with hugepage total sizes
above 1GB.

Change-Id: Ic6c31f4192c654672e36c4131e34eb5b8aaac022
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/404144
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-04-09 17:45:31 -04:00
Jim Harris
218dcd840a bdev/pmem: change all NVML strings to PMDK
NVML (Non Volatile Memory Library) changed its name to
PMDK (Persistent Memory Development Kit), so make the
necessary changes to the SPDK repository.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id07a87eafb4e9a3099603030c58c0e927bafa608

Reviewed-on: https://review.gerrithub.io/406256
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>
2018-04-07 00:07:57 -04:00
Maciej Szwed
0124a07d71 doc: bdev user guide
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Change-Id: I293e93ccf21b855ba3f536e577c9504439aa049f
Reviewed-on: https://review.gerrithub.io/394026
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-04-04 15:59:00 -04:00
Daniel Verkamp
e1060940c3 doc/jsonrpc: fix max_namespaces param name
This is called max_namespaces in the JSON-RPC method, not MaxNamespaces.

Fixes: 5e98dfd126 ("nvmf: add capability to add namespaces dynamically during active connection")
Change-Id: Ide39d6d6c1c1e12bd9b2ec1d2e619af7213051d5
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/406225
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:11:33 -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
Daniel Verkamp
6b5a1d6c24 bdev/pmem: add conf support to test in blockdev.sh
The long-term plan is to use the JSON-based configuration format, but
for now, we need a config file section to be able to test a bdev module
in blockdev.sh.

Change-Id: I2a69f7172693ed6d4939a3b938747e2a1c62ff83
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/405908
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2018-04-03 14:14:29 -04:00
Tomasz Zawadzki
583bc2efad vpp/doc: getting started guide for VPP
Change-Id: I269f11461696625f583cb31a01d87a0411d12dcc
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/404316
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-04-02 20:02:30 -04:00
suman chakraborty
5e98dfd126 nvmf: add capability to add namespaces dynamically during active connection
1) The user should provide MaxNamespaces during the construction of the subsystem
2) The namespace which is added should have nsid less than or equal to MaxNamespaces
3) If the user does not provides MaxNamespaces then the exsisting behaviour continues where the nisd can grow dynamically when it is not connected.

Change-Id: I54769d9669575a5f6bf56fe5a262191ac51c474d
Signed-off-by: suman chakraborty <suman.chakraborty@wdc.com>
Reviewed-on: https://review.gerrithub.io/405375
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-03-30 19:24:29 -04:00
Dariusz Stojaczyk
36506448d4 doc/virtio: minor updates
Reflect three changes:
 * Virtio now works with Linux and QEMU vhost targets
 * The Virtio library was separated from bdev modules
 * Virtio Blk bdev module has been added

Change-Id: I7d3075ca863a1142b3ddcc4d18e982f3b7c72202
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/405288
Tested-by: SPDK Automated Test System <sys_sgsw@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-03-27 21:26:09 -04:00
Daniel Verkamp
74f0dfd9b5 doc/jsonrpc: fix up nvmf_subsystem_remove_ns
- Add missing ~~~ to close the code section
- Fix grammar

Change-Id: I8ce5ab3ef33962cbb766a4ee4caf26f23f3bef1e
Fixes: d9321520ce ("nvmf: add Namespace deletion RPC support")
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/404964
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-03-27 02:54:02 -04:00
Seth Howell
8c5de263a1 test: move lib/nvme up one directory
Change-Id: I40c29b30c7098e34f2aa860612eeb82f2fb01ff3
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/404974
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-27 00:46:52 -04:00
Seth Howell
656c4a7abe test: move test/lib/blobfs under test/blobfs
Change-Id: Icaac9df0623148e6c785d2b1a560b165a1a03408
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/404966
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-03-23 19:45:09 -04:00
Paul Luse
da58800f21 doc: Programmer's guide template and example for blobstore
Includes the proposed Blobstore Programmer's Guide that is also
and example for other programming guides as well as a template
that can be used to create future programming guides.

Also removes the previous blob.md

Change-Id: Iefbb58b8c3ab015bf8e0cd02ba2fbe6a86c1852c
Signed-off-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/384118
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-19 11:40:08 -04:00
Seth Howell
12e840b937 test/unit: move unittest.sh and dependencies here.
All files called directly by the unittest.sh script are now located in
the test/unit directory.

Change-Id: I95cfb3d5b7c6ede59d7183c39466f32b7e676643
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/401717
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-13 18:44:34 -04:00
Daniel Verkamp
19100ed580 bdev: rename spdk_bdev_module_if -> spdk_bdev_module
This better matches the style in the rest of SPDK.

No functional change - this is a pure find/replace of
spdk_bdev_module_if to spdk_bdev_module.  Instances of this struct will
be renamed in another patch.

Change-Id: I3f6933c8a366e625fc3a1b6401aee26ee03ba69c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/403368
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-03-13 00:55:12 -04:00
Pawel Wodkowski
4d36735401 bdev: rework bdev module registration
Currently SPDK_BDEV_MODULE_REGISTER() take many parameters. Extending it
(eg for incoming JSON configuration dump/load) is quite challenging and
error prone. As we are already here in next patches, rework this macro
to take one parameter - the pointer to struct spdk_bdev_module_if.

This patch also remove following macros:
SPDK_GET_BDEV_MODULE - this is not really needed, to find module outside
module translation unit use spdk_bdev_module_list_find()

SPDK_BDEV_MODULE_ASYNC_INIT and SPDK_BDEV_MODULE_ASYNC_FINI - replaced
by bool fields in spdk_bdev_module_if struct.

Change-Id: Ief88e023fbbaee7d5402c838dbecbdffd4dfb259
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-on: https://review.gerrithub.io/402883
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-03-09 12:07:35 -05:00
Lance Hartmann
b9be940ae9 lib: Return instead of exit in event
Modifies behavior of spdk_app_start() and spdk_app_parse_args()
such that they return on failure instead of terminating with
exit().

Change-Id: I82566417f04e1ae2e3ca60a00c72e664db26c9e4
Signed-off-by: Lance Hartmann <lance.hartmann@oracle.com>
Reviewed-on: https://review.gerrithub.io/401243
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-03-08 11:47:01 -05: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
Changpeng Liu
d9321520ce nvmf: add Namespace deletion RPC support
Change-Id: I1c5adcce861b8a1fc8f8c96a3a237c4c2dae61af
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/401559
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:39:23 -05:00
Ben Walker
6285e36e5a nvmf: Add RPC methods to manage allowed hosts
Three new RPC methods are added to allow modification of the NVMe-oF
subsystem allowed host whitelist at runtime:
- nvmf_subsystem_add_host
- nvmf_subsystem_remove_host
- nvmf_subsystem_allow_any_host

Change-Id: I5c98658f949dad013165c04497cca49867022ba0
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/396063
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2018-02-26 11:25:03 -05:00
Daniel Verkamp
1023ca7b46 nvmf: allow configuration of ns NGUID and EUI64
Add optional parameters to namespace creation to let the user pick the
namespace globally unique identifier and EUI-64.

Change-Id: Ia3eebaf22f8a64733a00a83f90cafb4977c2d07a
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/399531
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2018-02-20 12:01:47 -05:00
Daniel Verkamp
f5fea785b0 build/doc: add dependencies to 'output' rule
Make the docs depend on all of the public header files and Markdown
files.

Without this, the docs never get rebuilt without a manual 'make clean'.

While we're here, add '@:' to the 'all' rule to silence it.

Change-Id: I304a1bb30464d2a0a60a1c117b7be1f7e543e15c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/399954
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2018-02-15 11:10:55 -05:00
Daniel Verkamp
0dd001465f doc/nvme: fix typo in NVMe index page
@cooybrief -> @copybrief

Change-Id: I8442a786d56df2e524f034f4b0f39eadf623954c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/399957
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-02-14 17:45:53 -05:00
Stephen Bates
3710fdddd6 doc: Fix the verbage concerning prereqs
In README.md remove references to prerequisites and instead refer the
reader to the relevant documentaion.

Change-Id: I136bdbe5cf88092ec0b30496c3b6ed3b8c1332c7
Signed-off-by: Stephen Bates <sbates@raithlin.com>
Reviewed-on: https://review.gerrithub.io/399786
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>
2018-02-14 17:38:48 -05:00
Pawel Wodkowski
261b5de903 doc/vhost: add '-numa' to QEMU memory configuration
This is quite important as QEMU vhost-user will report cryptic error
message that there is no shared memory to use.

Change-Id: Iad63962d4a3deed557db0b3420960aef557a3f86
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-on: https://review.gerrithub.io/399451
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>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-02-13 13:34:07 -05:00
Changpeng Liu
1c164f117d vhost-blk: enable vhost block with new added get/set config messages
New vhost user messages GET_CONFIG/SET_CONFIG can be used for
vhost-blk for the purpose to get configuration parameter such
as: Capacity and block size. This commit enable this feature,
users don't need to append capacity any more when started
QEMU. Also event notifier is added for the purpose to change
capacity of block device while QEMU is running.

Also re-enable the vhost-blk tests.

Change-Id: I06ef697984eeea3abbbd655bdcaccaa3b7aa72d7
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/386546
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-02-09 13:14:43 -05:00
Daniel Verkamp
628cd5e246 doc/jsonrpc: remove "core" from nvmf_tgt methods
The "core" parameter is no longer accepted for construct_nvmf_subsystem,
and it is also no longer returned as part of the get_nvmf_subsystems
result.  Update the documentation to match.

Fixes: 7b397f6281 ("nvmf: No longer tie subsystems to CPU cores")
Change-Id: Ibec85de6942f8da99f195b747423040c54a44959
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/398873
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2018-02-07 23:22:57 -05:00
Ben Walker
47b17299a4 nvmf: Add an rpc to add a namespace to a subsystem
Change-Id: I351c7bda1b32dc161c49d47fb2887595099e4be6
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/396696
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-02-07 23:22:57 -05:00
Daniel Verkamp
9f5970550c nvmf: use "nqn" rather than "subnqn" in RPC param
This fixes the new nvmf_subsystem_add_listener RPC method to use "nqn"
as the parameter name to be consistent with the other NVMe-oF target RPC
methods.

Since this method is brand new, no provision for compatibility with the
old name is provided.

Fixes: 6336217e16 ("nvmf: Add rpc to add listeners to subsystems")
Change-Id: I86263fb1c53ed6ab48fe70917686d78a4a7ce28d
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/398870
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2018-02-07 23:22:57 -05:00
Ben Walker
6336217e16 nvmf: Add rpc to add listeners to subsystems
The construct_nvmf_subsystem method's "listen_addresses" parameter is
now optional, and new listen addresses may be configured at runtime
using the "nvmf_subsystem_add_listener" method.

Change-Id: Ie0217c5d112e278cc0491a561753f50ed877d842
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/395556
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-02-06 10:29:42 -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
74e97d1245 doc: Move blobstore docs from modules to Programmer Guides
It's at least the beginning of a Programmer Guide.

Change-Id: Ifb0a6a1eefde83ef398f0dc6472c57e9faf4eacc
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/398104
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-02-02 17:41:20 -05:00
Ben Walker
20f8a3e24f doc: Move vhost doc from modules to user guides
This is a user guide, so move it to the right spot.

Change-Id: I8e50fdb95e6a982b444efd0e0ae55cd4b43e3017
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/397636
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-02-02 17:41:20 -05:00
Ben Walker
77db344dc2 doc: Move link to bdev layer from modules to user guides
This is really a user guide, so move it there.

Change-Id: Ia6e26ac82be73a0a40fe41836c987c72ec206ed7
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/397635
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-02-02 17:41:20 -05:00
Ben Walker
3ea63de948 doc: Remove user guide links from "Modules" section
These are duplicate links and they really are user guides, so remove
them from the modules section.

Change-Id: I0d3bdc235c75f9faa2501984db812dd525cf4fc2
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/397634
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-02-02 17:41:20 -05:00
Ben Walker
e8d13358c2 doc: Integrate concurrency and event framework docs
Make these two documents link to one another.

Also do the following:

1) Make "Event Framework" a Programmer Guide
2) Update some of the text about pollers to reflect recent changes.

Change-Id: I3dfbcde0dadcf69b7c165f7bad5bee00d3c10d1f
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/397633
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@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
Maciej Szwed
cb5178ea40 lvol: set default cluster size to 4MiB
Blobstore default cluster size is currently 4MiB,
but default lvol cluster size overrides it to 1GiB.

Additionally add -c flag in lvol tests to set cluster
size for tests.

1GiB was fine without thin provisioning, but we do not
want to allocate and copy 1GiB of data for newly allocated
clusters on thin provisioned logical volumes.

Note that 4MiB is same as default for Linux LVM.

lvol test case 601 had to be modified to create a malloc
LUN less than size of default cluster size.  This test is
supposed to fail - without the change here, creating the
lvolstore would work, but the script still considered it a
PASS.  Defer fixing that to a separate patch - for now just
keep the same test process.

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: Ic05defbf8e641f613f0ec74175a37bc25986e496

Reviewed-on: https://review.gerrithub.io/397562
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-01-31 15:37:26 -05:00
Tomasz Zawadzki
2b574ec2f6 doc: update lvol bdev documentation with changes for 18.01
Thin provisioning for lvol bdevs enabled starting with 4132ac5.
Unmap is now supported on lvol starting with patch cf6fe9b.

Change-Id: I10c47f9e1af31785caf27fd73750461c9cde57c4
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/397573
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-01-31 12:08:04 -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
Dariusz Stojaczyk
d9243af2b1 doc/virtio: minor doc updates
Reworded some sentences, updated current limitation
list, and dropped the outdated `Multiqueue` section.

Change-Id: Id57777430f00b80c68cadf4c600e4ec89fa3c4e0
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/397082
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
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-01-30 19:13:56 -05:00
Changpeng Liu
f991492c8d doc/nvme: update the NVMe driver user guide
Change-Id: If5d45d2d1ca457da5366041e566ebf45cf65765a
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/395924
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-01-30 15:57:36 -05:00
Dariusz Stojaczyk
0eff26b3c7 doc/getting_started: mention setup.sh help
The help message was introduced in patch
5f247660d7 [1].

[1] 5f247660d7 ("setup.sh: add help message")

While here, also removed "Make sure you aren't using an NVMe
device as your boot device." note. This is no longer the case,
as we're now checking for active mountpoints before unbinding
NVMe devices.

Change-Id: I722fc25d095640505e6afe05cae4f9c39c40922e
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/396591
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-01-26 14:54:30 -05:00
Daniel Verkamp
4609215690 doc/nvmf: clean up and reorder the nvmf_tgt docs
- Remove outdated section about pre-release kernels; the Linux kernel
  support has been in released kernels for a while now.
- Switch to ./configure rather than `make CONFIG_...`.
- Put the target configuration into subsections, and move it earlier in
  the doc.
- Clean up some wording and style issues.

Change-Id: I86e79226a73c4e36ed8a440294957ea824f24f0b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/395869
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-01-24 15:40:04 -05:00
Jim Harris
83c81baee6 doc/vhost: updated user guide
Change-Id: Ie2d9a949d44a2f50523736ade83dfd66935a6385
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/391603
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-01-23 16:49:05 -05:00
GangCao
10525c9366 doc: update the nvme-cli user guide
Update the content to support Intel specific commands and
add a note on the usage about spdk.conf file.

Change-Id: Id9bcac3719c951d3f4e9f6fe922004b3c325fabb
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/394563
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 17:28:31 -05:00
Ben Walker
23593aa951 doc: Remove stray Intel (R)
Change-Id: Ie6afc95e86534827786fe29e7b142bf61f2dd230
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/394988
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
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
4163a27562 doc: Expand the intro section of the bdev documentation.
Change-Id: I2077133fc8f98d1fc1020d617e50867871d8e841
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/392986
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
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
Ben Walker
c038770620 doc: Reorganize index.md
Also fix a few markdown issues.

Change-Id: I4e7c95f2a44bb321456f3868e8beb6661c61c26f
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/392981
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-05 12:47:01 -05:00
GangCao
6129c63a2b doc: update the SPDK iSCSI Target user guide
Add more information like Running Core, RPC related and so on.

Change-Id: Iad05d254255884a113031366614c75a324a8b5a3
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/393355
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: <shuhei.matsumoto.xt@hitachi.com>
2018-01-05 12:39:01 -05:00
Ziye Yang
3dc37c4316 doc/nvmf: Update NVMe-oF target user guide.
Reason: Core binding is not supported in NVMe-OF
subsystem anymore.

Change-Id: I92a876bf1a150b7833ebb049f3284e589f187edc
Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
Reviewed-on: https://review.gerrithub.io/392914
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-12-29 15:04:52 -05:00
Xiaodong Liu
450ffbc63a nbd: part bdev through bdev_svc
Change-Id: I667df64dd2363c606f39b52c0411c6ba7f55d5ba
Signed-off-by: Xiaodong Liu <xiaodong.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/391370
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-12-21 13:23:25 -05:00
Jim Harris
40c911b957 blob: add used blobid bit array for valid blobids
This can be used for two purposes:

1) more quickly iterate the blob list, avoiding
   metadata pages that are valid but not the first
   page in the blob's metadata list
2) close races between delete and open operations -
   now we can clear the bit in the blobid bit array
   when the delete operation is in progress, ensuring
   no one else can try to open the blob

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I3904648fd6fa656cb98c9e17ea763ed5a84ef537

Reviewed-on: https://review.gerrithub.io/391695
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-12-21 12:28:21 -05:00
Daniel Verkamp
377827db2c doc/jsonrpc: add bdev RPC method documentation
Change-Id: I49fa42e85f9239869d640b248330529ba8c2243a
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/391047
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>
2017-12-14 11:58:47 -05:00
Cunyin Chang
dbe275e35a doc: Fix typo in NVMe-oF set up guide
Change-Id: I755c90b773a6a91274d7d8a2266661b8eb9a1c90
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/390545
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-12-12 17:06:36 -05:00
Sebastian Basierski
0709cc48c9 vhost: Switch "Dev" keyword to "Target"
Added new keyword 'Target' that will replace 'Dev'.
'Dev' is still usable, but deprecated and will be removed.

Change-Id: Iafd6114ef2cc5b2f8d58497e9fb454a3a237ed16
Signed-off-by: Sebastian Basierski <sebastianx.basierski@intel.com>
Reviewed-on: https://review.gerrithub.io/388568
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
2017-12-08 09:25:49 -05:00
Maciej Szwed
1dcaee4c46 doc: remove duplicated word from vhost doc
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: I76f8f1581b13e804a17f2ad38880469a40f1024b
Reviewed-on: https://review.gerrithub.io/390806
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-12-07 14:49:31 -05:00
Daniel Verkamp
3d8f5a3c56 doc/vhost: remove [Rpc] configuration
This is being replaced by the -r command-line option.

Change-Id: I94a25f91bd26ea3b8da1789660742630f0052901
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/390325
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-12-05 13:16:57 -05:00
Daniel Verkamp
56f61c8feb bdev/pmem: require name in construct_pmem_bdev RPC
Change-Id: I3cbb52cd9a4201704423b49eae74935b8a33b0fd
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/389903
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-12-04 18:51:14 -05:00
Daniel Mrzyglod
30dfc6d505 scripts/vagrant: add vagrant-libvirt provider
This patch add another provider for libvirt.
There are still few additional problems in vagrant-libvirt like:
-most recent vagrant-libvirt (0.0.39+)
-most recent qemu 2.10+
-must be run as: vagrant up --provider=libvirt

Change-Id: I6ad3497cd06bb1a490259c0afc93c6ea610967f8
Signed-off-by: Daniel Mrzyglod <daniel.mrzyglod@gmail.com>
Reviewed-on: https://review.gerrithub.io/389551
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>
2017-12-04 17:36:45 -05:00
Jim Harris
d12ba75bd1 blob: add per-blob feature flags
Similar flags will be added at the blobstore level in a future
patch.

This allows backwards compatibility - i.e. allow older blobstore
applications to open blobstores created by newer blobstore
applications with new features.  Any blob's using a new feature
should have an associated flag set in one of three new flag masks:

- invalid: if a bit is set in this mask that the application is not
	   aware of, do not allow the blob to be opened
- data_ro: if a bit is set in this mask that the application is not
	   aware of, allow the blob to be opened, but do not allow
	   write I/O nor any operation that changes metadata
- md_ro:   if a bit is set in this mask that the application is not
	   aware of, allow the blob to be opened for performing any
	   kind of I/O, but do not allow any operation that changes
	   metadata

While here, bump SPDK_BS_VERSION to 3.  We intend this to be the
last change made to SPDK_BS_VERSION - future versioning will be
done via blobstore or per-blob feature flags instead.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: If059e38bfffbeec25c849a7629a81193b12302c4

Reviewed-on: https://review.gerrithub.io/388703
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-12-04 12:07:21 -05:00
Jim Harris
42e0a6531f doc/vhost: make some updates to vhost documentation
1) Rename to "User's Guide".
2) Link to @ref getting_started.
3) Note that QEMU 2.10 now supports userspace vhost-scsi, and
   the SPDK patches are only needed for vhost-blk.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id3508be4714fa35e9846d47019caf859cef65192

Reviewed-on: https://review.gerrithub.io/389412
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
2017-12-01 17:13:25 -05:00
Daniel Verkamp
5c40019fcc doc: add 'sudo' to pkgdep invocation
Also add a small description of what the script does.

Change-Id: I8a9373d204e7abc83772b5d5a95de30ca260dd7c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/389916
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>
2017-12-01 17:08:12 -05:00
Daniel Verkamp
222ebc1912 doc/jsonrpc: add app RPC method documentation
Change-Id: Ia688b082f2b5a74b78ebd1fe7a3f0ae33e084a8c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/389920
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>
2017-12-01 16:40:06 -05:00
Pawel Wodkowski
745c0496fe doc: update vhost doc
Remove experimental attribute from multiqueue section, add description
of QEMU num_queues parameter and expand example.

Change-Id: I13d67ece0734aa8c57eeb07eabc34442ca532d47
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-on: https://review.gerrithub.io/386501
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Paweł Niedźwiecki <pawelx.niedzwiecki@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-11-22 11:33:41 -05:00
Jim Harris
9b3ae06483 doc: point users to pkgdep.sh instead of full package list
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id0eafcda3845dba65b97f090fc45e3d2a510dc11

Reviewed-on: https://review.gerrithub.io/385694
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-11-06 15:00:08 -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
Piotr Pelplinski
d17345183e lvol: updated documentation.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com>
Change-Id: I566a4d277ac1595fa7b4d630df52301a9abeec49
Reviewed-on: https://review.gerrithub.io/381629
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-10-26 15:04:27 -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
Piotr Pelplinski
c0ed81a72b bdev_pmem: documentation
This patch adds documentation adn test plan for PMEM functional tests

Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com>
Change-Id: Ia2e8bcb9901ab216c3e45d2db6d06a3a02fdd308
Reviewed-on: https://review.gerrithub.io/378618
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-10-17 16:28:16 -04:00
Maciej Szwed
eb8b1e20a9 blobstore: add bstype to blobstore super block
Introducing bstype as a way to identify and verify
 blobstore type.

Signed-off-by: Maciej Szwed <maciej.szwed@intel.com>
Change-Id: I50267b5408625be10fe0c146ae329016d5509b4a
Reviewed-on: https://review.gerrithub.io/380476
Reviewed-by: Jim Harris <james.r.harris@intel.com>
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-17 13:36:03 -04:00
prital shah
75e31e26e3 doc:add Performance report section
Change-Id: I3dc7aa70d8a326fb842a2dcbd6a8f9032d98b154
Signed-off-by: prital shah <prital.b.shah@intel.com>
Reviewed-on: https://review.gerrithub.io/382375
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
2017-10-13 16:15:40 -04:00
prital shah
7806883764 doc:add tools section
Change-Id: I6e8a6d636b8d7236a40b7da34722c77677b6cc91
Signed-off-by: prital shah <prital.b.shah@intel.com>
Reviewed-on: https://review.gerrithub.io/382374
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-10-13 16:15:40 -04:00
Hailiang Wang
f062f79768 scripts: replace NRHUGE with HUGEMEM in setup.sh
This allows to use same command
for allocating hugepages on
systems with different hugepage
sizes.

The old NRHUGE variable can be
still set on Linux machines,
but is currently undocumented.

Change-Id: I1fba315d95e9aae8b6a8c9c445deb447fecc65dc
Signed-off-by: Hailiang Wang <hailiangx.e.wang@intel.com>
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/369546
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>
2017-10-12 18:27:21 -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
Daniel Verkamp
6e7c78dd1d doc/blobfs: clean up RocksDB guide formatting
Make the shell fragments highlighted as code blocks and fix up a few
minor typos.

Change-Id: If9992df414fe85c6173d440061736092e8d609ba
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/379908
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-09-26 19:40:58 -04:00
Daniel Verkamp
c94bb669ca doc: add a section for user guides
Change-Id: I8982bf656adc4fec6990cdd95e5ece71fb0a953b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/379907
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-09-26 19:40:58 -04:00
Cunyin Chang
29bcd5a90d blob: Add support for crc of super block.
Change-Id: I424833a0af6e5e8265c03c168b9dfdbae1a49cd8
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/378233
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
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>
2017-09-20 19:56:57 -04:00
Daniel Verkamp
4a49d59c66 doc/vagrant: add commands to run for proxyconf
Change-Id: I7030a0402878a0461546531a105065eabb794a97
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/378639
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2017-09-18 12:53:49 -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
Daniel Verkamp
7fc4405c5d doc/bdev: document bdev_null
Change-Id: I5b48e798b0540ef7fbc99699ebf6dc913c075b44
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/376861
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-09-05 17:50:48 -04:00
Daniel Verkamp
744a785b76 doc/bdev: add anchor names to bdev config sections
Change-Id: I8bf7c39a4a5395a5b89a9c175626f2811928e01a
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/376860
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>
2017-09-05 17:50:48 -04:00
Daniel Verkamp
691912ef44 nvmf: allow user to specify NSID via conf and RPC
The nvmf library now supports the ability to assign arbitrary NSIDs,
rather than automatically assigning the next one in line.  Expose this
functionality to the user via the configuration file and RPC interfaces.

Change-Id: Ia85a9a6dfe31a2cd0605c7a6c098eec0c1b7de68
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/376463
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>
2017-09-05 13:03:09 -04:00
Daniel Verkamp
a2db49a121 nvmf: add AllowAnyHost option to subsystems
The previous behavior with an empty host NQN whitelist was to allow any
host to connect.

Change-Id: I5401e52d96642cf20afe0d50c692613e67262edf
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/376432
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>
2017-09-05 13:03:09 -04:00
Daniel Verkamp
90c9ad7beb doc/vagrant: formatting tweaks and typo fixes
Change-Id: I93ea23068bf558f78e9cfe26b3b42dcb5088060e
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/376694
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: John Kariuki <John.K.Kariuki@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2017-09-01 12:45:28 -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
Cunyin Chang
c60a0bef93 doc: Switch rocksdb to the branch spdk-v5.6.1
Change-Id: I3d33a04a7ec7b8c1fd23e7652c57ed25e23cd42a
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/374443
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>
2017-08-16 20:24:36 -04:00
Daniel Verkamp
671179409c bdev/aio: allow user to override block size
Add a file-backed AIO bdev to test it out.

Change-Id: Ifdf206bbdf6cae9379fdc02c80755e96a7198bce
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/373673
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-08-11 19:36:30 -04:00
Pawel Wodkowski
1cb3fd4565 doc: update vhost known bugs section
Change-Id: I854dea6fb45c11029b7586dd91b9a1669d9cb4ff
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-on: https://review.gerrithub.io/373087
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-08-10 13:35:18 -04:00
Cunyin Chang
39240a9e6b doc: Add notice about release share memory.
Change-Id: Ic6f536c9e08ee22e7bbdc2e7e46f2395086e7786
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/369329
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>
2017-08-02 18:14:03 -04:00
Paul Luse
0fb41bb11f doc: add comment on how to specify a SPDK config file
Change-Id: I53e8ab3271f45b66f617f3a044bceae338311029
Signed-off-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/370401
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>
2017-08-02 18:04:26 -04:00
Jim Harris
5f05513bf1 doc: fix a couple of doc issues found during vhost w/ NVMe-oF testing
Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id7e0f4b3f14e7cc18cd05df639a13843f2e85763

Reviewed-on: https://review.gerrithub.io/372346
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-08-02 17:15:21 -04:00
Ben Walker
f6e62d2ce1 nvmf: Remove direct mode
There is now only virtual mode. Virtual mode has been
improved enough to reach feature parity with direct
mode and performance benchmarks show no degradation.
Simplify the code by always using virtual mode.

Change-Id: Id5cdb5d4d8c54e661b245ed7250c2f9d66ca2152
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/369496
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-08-02 13:57:45 -04:00
Daniel Verkamp
e820b2d198 doc/vhost: note buggy Windows virtio-blk driver
Change-Id: I74daf6c649d39954f8f4cbead8849e589d39a5aa
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/372011
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-07-31 20:07:42 -04:00
Cunyin Chang
23659578df doc: List known issue for hotplug of iscsi.
Change-Id: Icd37d8a0f31c1fd4e8e84ea02a919833b161a49d
Signed-off-by: Cunyin Chang <cunyin.chang@intel.com>
Reviewed-on: https://review.gerrithub.io/370217
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2017-07-31 15:36:01 -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
Daniel Verkamp
92a9961f83 doc/bdev: add configuration info for GPT
Change-Id: I326963cd0646a9ed9f05e6001de966ecde179464
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/369085
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>
2017-07-14 13:07:03 -04:00
Daniel Verkamp
c35586fe6c doc/vhost: minor wording tweaks and cleanup
Tweak some wording to be clearer, and add newlines after each section
header for consistency.

Change-Id: I186c7d81b511798838c940c00a18571a08d7fe61
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/368209
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>
2017-07-05 15:38:43 -04:00
Pawel Wodkowski
c0dce4a709 doc/vhost: vhost block documentation
Add descritpion of vhost block.

Change-Id: I20c36d6b249aec09db0b5665c7ea28aea5a61358
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/364646
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Paweł Niedźwiecki <pawelx.niedzwiecki@intel.com>
Tested-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-07-05 13:21:32 -04:00
Dariusz Stojaczyk
3c497395cc vhost_scsi: implemented eventq hotremove
Implemented eventq. For now only hotremove is supported.

Change-Id: I1ec7aa2137173b5dfb30e9906dd41707e371b7a8
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/364285
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-30 16:32:47 -04:00
Ben Walker
d40b934652 doc: Improve NVMe documentation entry page
Give a higher level overview of the NVMe driver, plus point
to the examples and the fio plugin up front.

Change-Id: Ifded628a79c2a648e024698410e2c2a164fe08eb
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/364843
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>
2017-06-22 15:49:28 -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
Ben Walker
d59f28c28a rocksdb: Add the RocksDB Env to the SPDK repository
This code was previously in our fork of RocksDB. Move it here
so that API breaking changes can update it.

Change-Id: Icae3e22380b9bd3de8c1ec5b6f82909f812d204b
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/364531
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-06-13 11:38:06 -04:00
GangCao
aadd38fd8e doc/bdev: update the AIO configuration example
Change-Id: Icfbf27c73e9deabbce76129dc9f28b7dfbcda2a9
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/364335
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-06-07 14:02:46 -04:00
Ben Walker
d969ac445a io_channel: Remove per-channel priority
This wasn't used anywhere and we currently believe there
are superior software-only techniques for controlling
quality of service.

Change-Id: Icdadd5870ed0629b338c307d2619bbc242c3e7a3
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/362065
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2017-05-26 13:42:19 -04:00
Daniel Verkamp
f50ea14403 rocksdb: stop passing $DPDK_DIR to db_bench build
The RocksDB SPDK environment no longer depends directly on DPDK.

Change-Id: Ifcabcd137292f86724a1e3fed93abb94fa5a2344
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2017-05-01 11:11:03 -07: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
John Kariuki
e2d0d9799c doc/nvmf: add description of virtual mode
Added a section that describes the steps to configure a virtual controller.
Also update the CPU core affinity section to remove the section numbers.

Change-Id: Ide519c31d8653477ea9d9b65b03fe3ea37f78e61
Signed-off-by: John Kariuki <John.K.Kariuki@intel.com>
2017-04-26 06:41:28 -07:00
Pawel Wodkowski
9aaccfe3d7 vhost: enable VFIO
Vhost needs to register memory given by guest in VFIO container to be
able to do any DMA using this memory.

Currently DPDK doesn't provide any interface to handle guest memory, so
for now lets find container fd in /proc/self/fd/ directory and provide
some VFIO internal API that finally should extend DPDK API.

Change-Id: Iee9d496367ccd61219068fc0eadc17e786ff0731
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
2017-04-24 12:20:04 -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
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
Daniel Verkamp
3f80d55199 CONFIG: rename CONFIG_NVMF to CONFIG_RDMA
The NVMf target is being refactored to split the RDMA transport-specific
code into its own file.  Once this is complete, we should be able to
plug in other transports and build the NVMf target without any RDMA
dependency if desired.

To enable this, change the CONFIG option to RDMA; it still controls
whether the whole NVMf target is built for now, but once the RDMA
dependency is actually made optional, we will be able to build the
generic NVMf target code without libibverbs installed.

Change-Id: I8cd90a9aaa85dcefcc9b0f8f2e7b6af21958b2a8
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-07-14 12:58:17 -07:00
Ben Walker
e051bc63b4 docs: Update header and footer links in documentation
Change-Id: I36be168c666e7eb7217b96117c89eafe31cd09c7
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-07-01 14:51:35 -07:00
Daniel Verkamp
53b31afe7c doc/nvmf: add description of how to enable NVMf
Change-Id: I4270a8fb8da847ee62b107f7cb2c0fdea1450fa6
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-06-08 16:39:39 -07:00
Ben Walker
a4b857213b nvmf: Rename InitiatorGroup config section to Host
The specification refers to this concept as a Host,
so use that term. This only changes the configuration
file usage. Initiator groups are still referenced in
the code and will be removed later.

Change-Id: I897f4dbdfb65d94da1e5a77434fc07a2c18bcdc2
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
2016-06-08 16:37:32 -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
e7499dc328 doc: make ioat and nvme section names unique
Fix section name collisions after combining Doxyfiles.

Change-Id: I9b717598f74839c0fd80415fc5c46f636801a93b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-29 10:20:47 -07:00
Daniel Verkamp
982095e51f doc: use spdk.io stylesheets
Some styling needs to be applied via the Doxygen stylesheet, since the
class names don't match up with what Bootstrap uses.

Change-Id: Ie7b38259496e262752750235b0630d59b00ae492
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-25 14:00:15 -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
Daniel Verkamp
a7cab063bc doc: add links and intro blurb to main page
Change-Id: Icc4e3add7d36804de968b4ad2136af773d044001
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-25 14:00:12 -07:00
Daniel Verkamp
60811b5bf7 doc: add Doxygen-generated header.html
Prepare to customize the header.

Change-Id: I97ab3d3ea57ca843df9a1f7d76bf00172bea02e7
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-25 10:06:37 -07:00
Daniel Verkamp
4b1f79b5e7 doc: merge ioat and nvme into a single Doxyfile
Add a top-level index page and convert the I/OAT and NVMe main pages
into normal pages.

Change-Id: I4e7c8d2fd43303a8aa56de921037dac96fe8a1a5
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-25 09:59:39 -07:00
Daniel Verkamp
cf0871a57e ioat: make channel allocation explicit
Add a parameter to each I/OAT library function that requires a channel
instead of implicitly using the thread-local channel registration model.

I/OAT channels are already reported by the spdk_ioat_probe() attach
callback, so no infrastructure for channel allocation is necessary.

Change-Id: I8731126fcaea9fe2bafc41a3f75c969a100ef8f0
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-15 09:50:17 -07:00
Daniel Verkamp
3272320c73 nvme: make I/O queue allocation explicit
The previous method for registering I/O queues did not allow the user
to specify queue priority for weighted round robin arbitration, and it
limited the application to one queue per controller per thread.

Change the API to require explicit allocation of each queue for each
controller using the new function spdk_nvme_ctrlr_alloc_io_qpair().

Each function that submits a command on an I/O queue now takes an
explicit qpair parameter rather than implicitly using the thread-local
queue.

This also allows the application to allocate different numbers of
threads per controller; previously, the number of queues was capped at
the smallest value supported by any attached controller.

Weighted round robin arbitration is not supported yet; additional
changes to the controller startup process are required to enable
alternate arbitration methods.

Change-Id: Ia33be1050a6953bc5a3cca9284aefcd95b01116e
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-14 16:00:54 -07:00
Daniel Verkamp
9322c25808 doc: add spdk/ path to Doxygen indexes
Reference the public headers in the way that apps should include them
(e.g. spdk/nvme.h rather than just nvme.h).

Change-Id: I0489d906e9c55ff00ffa4e8c9532b0941ce69449
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-02-17 12:18:27 -07:00
Daniel Verkamp
bfd92d4719 nvme: update doc index file with spdk_ prefixes
Change-Id: I5745d1f9af63547b05f4dfdd364f18bcf615f2b0
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-02-11 13:45:58 -07:00
Daniel Verkamp
5cab054f4e ioat: add spdk_ prefixes
Change-Id: Ic42f204a9a4e65661931af2220e8f8ac77242a69
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-02-11 12:35:57 -07:00
Daniel Verkamp
8374a727a9 nvme: refactor nvme_attach() into nvme_probe()
The new probing API will find all NVMe devices on the system and ask the
caller whether to attach to each one.  The caller will then receive a
callback once each controller has finished initializing and has been
attached to the driver.

This will enable cleanup of the PCI abstraction layer (enabling us to
use DPDK PCI functionality) as well as allowing future work on parallel
NVMe controller startup and PCIe hotplug support.

Change-Id: I3cdde7bfab0bc0bea1993dd549b9b0e8d36db9be
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-02-03 11:15:31 -07:00
Daniel Verkamp
c02b179490 Remove year from copyright headers.
Also add a space between Copyright and (c).

The copyright year can be determined using git metadata.

Also remove the duplicated "All rights reserved." - every instance of
this line already has a corresponding "All rights reserved" immediately
below it, except for examples/ioat/kperf/kmod/dma_perf.c, where I have
added it manually.

Performed using this command:

git ls-files | xargs sed -i -e 's/Copyright(c) \(.*\) Intel Corporation. All rights reserved./Copyright (c) Intel Corporation./'

Change-Id: I3779f404966800709024eb1eb66a50068af2716c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-01-28 08:54:18 -07:00
Daniel Verkamp
b8d31e2454 doc: define away __attribute__ for Doxygen
Doxygen doesn't understand GCC attributes, so use the PREDEFINED setting
to define it to nothing.  Otherwise, Doxygen's parser gets confused on
e.g. packed structs.

Change-Id: I25b2a5fd7cfcc5014408c93d1913128e863dc60c
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-01-22 08:56:51 -07:00
Daniel Verkamp
d4ab30ba33 ioat: add user-mode Intel I/OAT driver
The ioat driver supports DMA engine copy offload hardware available on
Intel Xeon platforms.

Change-Id: Ida0b17b25816576948ddb1b0443587e0f09574d4
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-12-09 10:14:15 -07:00
Daniel Verkamp
8836b6f681 doc: tweak Doxygen footer
Remove the $generatedby string, which contains the current date, causing
diffs whenever the docs are regenerated even if there is no new content.

Change-Id: I2a45a086d464bb23cac4b9ffc802666722c45d06
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-11-10 09:31:16 -07:00
Daniel Verkamp
e098976c55 doc: remove reference to nonexistent images dir
Change-Id: Idedc1d0ef978739b1dfb8937b824c7326832e3a7
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-09-24 11:24:16 -07:00
Daniel Verkamp
3302fd86f0 doc: use doxygen in quiet mode
Make doxygen only output warnings and errors.  The other informational
output is not that useful.

Change-Id: Iecdcc45ce3a64905815326734e4783ddc45b654b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-09-24 11:24:16 -07:00
Daniel Verkamp
ad74310a3a doc: update Doxyfile.nvme
Updated using 'doxyfile -u Doxyfile.nvme'.

No configuration value changes.

Change-Id: I7ad043cb3320804a419ef6353436ebe4572f9a37
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-09-22 09:24:40 -07:00
Daniel Verkamp
5b88369cd2 doc: add include/spdk to Doxygen path
Fixes broken links on the main page (public header nvme.h is now in
include/spdk rather than lib/nvme).

Change-Id: If85f9d676602d09f45b6a7607df5a4529f19c7ca
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-09-21 15:53:14 -07:00
Daniel Verkamp
1010fb3af1 SPDK: Initial check-in
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-09-21 08:52:41 -07:00