Commit Graph

17 Commits

Author SHA1 Message Date
Tsuyoshi Uchida
a5f0327897 scsi: translate nvme error to scsi error (#54)
This patch translates NVMe status code to SCSI sense according to NVM
Express: SCSI Translation Reference.

http://nvmexpress.org/wp-content/uploads/NVM_Express_-_SCSI_Translation_Reference-1_5_20150624_Gold.pdf
2016-10-28 13:06:45 -07:00
Daniel Verkamp
12f56a432f travis: install DPDK and other dependencies
Change the unittest.sh script to assume that all dependencies are
available and just build the entirety of SPDK from the root directory.

Change-Id: I394fe0cdfe25373c030b2769dd19c1a9827510c3
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-10-07 15:34:18 -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
Daniel Verkamp
e445f16bac unittest.sh: build log library earlier
Now that the NVMe and I/OAT libraries depend on the log library, log
needs to be built earlier in the Travis-CI unit test script.

Change-Id: I189800934007fe8365cdfd5eb4cd797eed252b73
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-09-28 13:38:53 -07:00
Daniel Verkamp
634786e583 test/io_channel: add to autotest and unittest.sh
Also remove libspdk_util.a from the io_channel_ut linker command, since
it already includes the tested C file directly and doesn't depend on any
other util library functions.

Change-Id: I4b3fc4d57b5af4524b53664365f6ba52686e4b80
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-09-27 16:32:36 -07:00
Daniel Verkamp
6c5f05f177 util: add bit array data structure
Change-Id: Idab4473fa23486e72334ec07d0853c6325197c20
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-09-15 15:47:56 -07:00
Daniel Verkamp
7d7f73d064 unittest.sh: temporarily disable scsi_bdev test
The scsi_bdev code now depends on lib/util, which needs additional
dependencies (libpciaccess or DPDK) to build beyond what is normally
installed on the Travis-CI system.  Drop that test from the Travis-CI
unittest.sh script until this is resolved.

Change-Id: Ic2c90b765d2812f485553db77b7a433a50861f7b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-29 09:53:26 -07:00
Daniel Verkamp
bd4ac74eaf scsi: import SCSI/blockdev translation layer
Change-Id: Ie96943f40ea8be4156d55bc5eeacc567743cf9d6
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-08-01 10:35:01 -07:00
Daniel Verkamp
1d81cbc955 test/nvmf: stub out per-file unit tests
Change-Id: I9606b82dbfaa6c84d8dafc07fb76a113e3436083
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-07-22 12:50:44 -07:00
Daniel Verkamp
5a84b8e6ee unittest.sh: generate config.h
Change-Id: I65b4f6503a6edc22a960304b994f0b5f20326385
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-06-08 16:06:08 -07:00
Daniel Verkamp
545effaa49 unittest.sh: build jsonrpc dependencies
The JSON-RPC tests use the JSON and log libraries, so build those before
the JSON-RPC test directory.

This is just a workaround; ideally, we should build DPDK so the whole
SPDK repository can be built, but that is a larger change.

Change-Id: Ida0e98ad95fb90a22bd261cf688deafd1fd51975
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-05-24 10:10:39 -07:00
Daniel Verkamp
376d117c90 jsonrpc: add JSON-RPC 2.0 library
Change-Id: I4f58792c3af1f85f55144717478f868ebe5b1700
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-05-23 10:28:58 -07:00
Daniel Verkamp
aaa533adc7 log: add SPDK logging library
Change-Id: I3d4060b619a3976ffff75c05f86214e3fcd18fb5
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-05-09 15:54:49 -07:00
Daniel Verkamp
f9193f4ce7 json: add JSON parser and encoder libraries
Change-Id: Id73fb7e300d66d31a7c3986c0334b6f56e284905
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-05-09 13:30:02 -07:00
Daniel Verkamp
55d9ff6a66 config: make -Werror optional and off by default
Allow end users to build the code even if, for example, warnings are
added with new compilers versions.

-Werror is still enforced for automated builds.

Change-Id: I567009d55cf5b941c452bd41d09f75d03b037209
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2016-03-18 10:42:28 -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
555a3d85c6 build: add Travis CI integration
Use the container-based travis-ci.org infrastructure to run only the unit
tests.

Change-Id: I4f7d011edb07341a668fa6fea495f6eb2a9c029b
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
2015-11-04 11:05:59 -07:00