Commit Graph

9457 Commits

Author SHA1 Message Date
Seth Howell
a54a6a266c lib/nvmf: extract RPCs from the subsystem directory
There are one or two RPCs that deal with application specific
configuration. We can leave these there for now.

Change-Id: I9c40aa3403d32d3e2214c8c904fb1c414ad99967
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465365
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-21 17:20:28 +00:00
Seth Howell
c795aa70cf nvmf_rpc: remove references to g_spdk_nvmf_tgt
The global nvmf target is really an example application specific
feature. This should be separated from the generic RPC functions as much
as possible.

Change-Id: I7671aa88c20a39129aa13d1a7100b537bf34b00d
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465364
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-21 17:20:28 +00:00
Seth Howell
79d876716c nvmf: add spdk_nvmf_get_tgt function
This function will allow applications (and RPCs)
to obtain an spdk_nvmf_tgt pointer by name.

Change-Id: I82792e06a819e06d9fddb5429830008653d92cd1
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465349
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-21 17:20:28 +00:00
James Bergsten
0eb4e6d5ed scripts: Update check_format.sh shellcheck to ignore SC1117 warnings.
So, in an attempt to be a “good SPDK citizen,” when I noticed that
check_format.sh suggested I install shellcheck, I did and re-ran
my commit.

Got bunches of errors like this on unmodified SPDK bash scripts:

In scripts/ceph/start.sh line 58:
echo -e "\tosd data = ${mnt_pt}" >> "$ceph_conf"
         ^-- SC1117: Backslash is literal in "\t".
          Prefer explicit escaping: "\\t".

Adding SC1117 to the list of ignored warnings lets check_format
run clean.

ShellCheck is at version 0.5.0, Ubuntu at 19.04.

Signed-off-by: James Bergsten <jamesx.bergsten@intel.com>
Change-Id: I1705b3d15338a18a3fde3ae796a7c46bbf92b1cd
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465448
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-21 17:07:14 +00:00
Maciej Wawryk
40c959cbcc RPC: rename RPC crypto_bdev series
RPC: rename RPC delete_crypto_bdev to bdev_crypto_delete
RPC: rename RPC construct_crypto_bdev to bdev_crypto_create

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: Ib93714504ee7a97cbbe36457f7826f0af69b1fe5
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465057
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-08-20 22:44:58 +00:00
Maciej Wawryk
9a91a45c99 RPC: rename RPC compress_bdev series
RPC: rename RPC construct_compress_bdev to bdev_compress_create
RPC: rename RPC delete_compress_bdev to bdev_compress_delete

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: I768825269967e6af079e87094a4b3ce0b11444ab
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465051
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-08-20 22:44:42 +00:00
Maciej Wawryk
acaa079b20 RPC: rename RPC aio_bdev series
RPC: rename RPC construct_aio_bdev to bdev_aio_create
RPC: rename RPC delete_aio_bdev to bdev_aio_delete

Change-Id: I09ffc3cc0d2117f7210be7920bffddb9d7c7f30c
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465035
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-08-20 22:44:20 +00:00
paul luse
cc6314a413 test/reduce: fix reduce UT pm file length calculation
First in a series to fix broken reduce unit tests, they have not
been running in CI for quite some time.  Once they are working
again, will have Jenkins udpated to make sure they are run per
patch.

Change-Id: I12767dfea61a2e9a1ced85b9b247b5aeadc1edde
Signed-off-by: paul luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465207
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-20 22:39:52 +00:00
Chunyang Hui
0fae4f64c4 Opal: Add support for erase locking range
Change-Id: Ie40ea642bc266f84ad5a3dbad8012b9eac178360
Signed-off-by: Chunyang Hui <chunyang.hui@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465244
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2019-08-20 20:38:54 +00:00
Seth Howell
a1d0f799c2 bdev/delay: point out that latencies are in us.
The fact that all latencies were in microseconds was not explicit in all
of the help/docs for this bdev.

Change-Id: Id13fbb55af62c5f14fd2790e894c4c0646eb25f7
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465169
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-08-20 20:35:59 +00:00
Seth Howell
f46b63e3e0 bdev/delay: fix latency reporting.
The arithmetic was backwards when computing the latency values to
report back to rpc calls like get_bdev. This caused reasonably sized
latency values to report back 0.

Change-Id: I85e22c9c8aa202a2ac1db7e7081f397800b151b8
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465168
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-08-20 20:35:59 +00:00
Seth Howell
8d6d26bd29 nvmf: add a name entry to the spdk_nvmf_tgt struct
This will provide a unique identifier which can be used to provide get
and set methods within the RPCs.

Change-Id: Idd144e99e49b8d26530f60530d2e908b18fa251b
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465330
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-20 19:15:04 +00:00
Seth Howell
7d6d95db3c nvmf: change the function signature of spdk_nvmf_tgt_create
This is necessary to allow the spdk_nvmf_tgt structure to evolve over
time without having to further change the target API.

Change-Id: Ib0f0f9b1f190913feff0229c96df4e84b1bf35f7
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465363
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Anil Veerabhadrappa <anil.veerabhadrappa@broadcom.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-08-20 19:15:04 +00:00
Seth Howell
0ac5050624 lib/nvmf: add a global list of targets
As part of moving the nvmf rpc code to the library, we will need to make
it more inclusive of use cases outside of the example spdk nvmf_tgt
application. That application only supports a single nvmf target
structure. As such, many of the RPCs have this assumption built into
them.
In order to enable the multi-target use case, we need to configure a way
to translate between user supplied RPCs and actual target objects in the
library.

Change-Id: I5d3745afe9c2ca1c33f6e1a1bcc2b8bb3196ccd6
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465329
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2019-08-20 19:15:04 +00:00
Seth Howell
4ce77af64c lib/nvmf: create an spdk_nvmf_target_opts struct
This will end up being the argument to spdk_nvmf_tgt_create. It will be
necessary as we add more options for configuring the target.

This is step 1 in moving the nvmf_rpc file under the nvmf library
header.

Change-Id: I2cb4b2c33f69a268077a3bdf581cec3c83524e8d
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465328
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-08-20 19:15:04 +00:00
Hailiang Wang
7b3aec455b doc/bdev_pg: replace spdk_allocate_thread()
The function spdk_allocate_thread() is no longer used.
Instead, this function spdk_thread_create() is used.

Change-Id: Iaabb700bef718efc3cc90d8b46160530f0082b76
Signed-off-by: Hailiang Wang <hailiangx.e.wang@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465382
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-08-19 23:28:42 +00:00
Seth Howell
ff69b368b8 lib: combine event/iscsi_rpc with lib/iscsi/iscsi_rpc.c
Part of a larger series simplifying the library directory.

Change-Id: Ib9c9dc9a0c92ac35a9f0260451f97fc126d10031
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465212
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-19 06:10:30 +00:00
Seth Howell
edc8c91a90 lib: move bdev_rpc under lib/bdev
Part of a larger series unifying and simplifying the library directory
structure.

Change-Id: I2782165aabbea9a31cc466fc7e3bb2b9263142dc
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465211
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-19 06:10:30 +00:00
Seth Howell
bc83adc2db lib: move trace_rpc into lib/trace
Combinining these two libraries removes some directory complexity. It
also helps us to align on a common practice for including the rpc code
with a given module. This is how all of our bdev modules already do it.
The nbd, net, and scsi modules also follow this pattern.

Change-Id: I5e4c99d7f0facacc6dfe30b2274b60e0d151f8d8
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465210
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-19 06:10:30 +00:00
Seth Howell
ef6108a7eb lib: move notify_rpc under lib/notify
This is part of a larger series aimed at simplifying/flattening the
directory structure of the SPDK lib directory. The ultimate goal of this
series is to properly create dynamic linker dependencies between all
spdk shared objects.

Change-Id: I6beb7103404ae2c24a3d25dd93a1061680c7176c
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465209
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-19 06:10:30 +00:00
Anil Veerabhadrappa
0c2db7db26 UT/nvmf/fc: add stub definition for new API call
Missing stub for spdk_nvmf_ctrlr_async_event_ns_notice() call
was causing compilation error.

Signed-off-by: Anil Veerabhadrappa <anil.veerabhadrappa@broadcom.com>
Change-Id: Iab195f123fdfb573d4a30b2a62040d507cc878b7
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465340
Reviewed-by: Seth Howell <seth.howell@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-16 16:55:30 +00:00
paul luse
3966e0bf2e bdev/crypto: assert that a QAT DMA never crosses a 2MB boundary
Because required alignment is already set to block size and by design
the crypto module does one crypto operation per block (it uses the
LBA as the initialization vector) it should not be possible to get
a physical address that spans however adding an assert just in case.

Change-Id: I1dc844d0a32395f9ed4869429368f60b919703a4
Signed-off-by: paul luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465107
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-15 21:18:02 +00:00
Ben Walker
de03082191 util: Generate multiple versions of spdk_u32log2
Generate multiple versions for various architectures automatically.

Fixes issue #713

Change-Id: I757a1d05e54c938b66dd5b2ec255ad960bb89945
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/463550
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2019-08-15 20:33:20 +00:00
Ben Walker
236dbd9550 test/vhost: Add a simple fio test
You can run this at your desk as follows (from SPDK repo):

sudo -E ./test/vhost/fio/fio.sh --iso

Change-Id: Ib83e21e8b8450d1bfce6a0223642c4087f9f47dc
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/463094
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2019-08-15 20:33:14 +00:00
Ben Walker
51672da05b test/vhost: Clean up vhost_kill
Change-Id: Id3fe2ecf72bc04a39c0e866d6db57bdb94beb510
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/461390
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2019-08-15 20:33:14 +00:00
Seth Howell
9d1e4260cb mk: move log_rpc from inside log
The log_rpc library has several dependencies which depend upon the log
library. This creates a circular dependency chain that makes single
threaded make unwieldy and makes multi-threaded make impossible.

Change-Id: I35e6532afcabce0f25974ed97444a56975654904
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465192
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-08-15 20:32:28 +00:00
Seth Howell
2a3b6b4179 mk/lib: Build subdirs before lib dir
The subdirectories of libraries are currently listed as dependencies of
the library. If you look at the actual symbols they contain, the
opposite is true. For all of the bdevs, event subsystems and other
library directories, the subdirectories actually rely on symbols
contained in the parent directory.
If we want to create the proper inter-library dependencies in SPDK at
compile/link time, then we need to respect the order of these symbol
dependencies when executing make (e.g. make libspdk_event.so before
libspdk_event_bdev.so). Otherwise we create a loop of dependencies in
the make system.

Change-Id: Idcbb050b2709f575d0cec46b481824d6313612b4
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465191
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-15 20:32:28 +00:00
Pawel Kaminski
7964f1df90 scripts/rpc: Change rpc construct_malloc_bdev to bdev_malloc_create
This is patch that implements changes according to proposal
submitted in https://review.gerrithub.io/c/spdk/spdk/+/453036

Change-Id: I5423cd34cb5fc111b34cab2b7f7c6c5f11898af8
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464677
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-14 22:15:08 +00:00
Pawel Kaminski
6fdd36e100 nbd/rpc: Add logs with more information about rpc error.
Now if rpc fails ambiguous logs are printed.
Use more descriptive errors.

Change-Id: I7bd3a9e9d94d42fd1effb74f48c5de331b419440
Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462627
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-08-14 22:11:40 +00:00
Changpeng Liu
678c026117 UT/blobfs: add a append write over blob boundary UT
Change-Id: Ifc50920ae316ba76719c14d40615a23930457fc8
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464083
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-14 21:42:06 +00:00
Changpeng Liu
6ddbcc0301 blobfs: use __wake_caller() to wake up the caller
__fs_create_file_done() is just used to wake up the caller
in synchronous API.

Change-Id: I08611eab74ab353021d5e9d7a33fe825f4c5a8c2
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464362
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-14 21:41:36 +00:00
Marcin Dziegielewski
28f4299fe7 test: move get_nvme_name_from_bdf function to autotest_common.sh
This function is useful for each test which use nvme device, so
it will be easier to keep it in autotest_common.sh file instead of
including also nvme.sh in each test.

Signed-off-by: Marcin Dziegielewski <marcin.dziegielewski@intel.com>
Change-Id: Ic2e186826211725b95f3ec3b455d23f43ea41b8f
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464691
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-14 21:24:58 +00:00
Ben Walker
1e82ec0640 nvmf: Delay sending AER until subsystem resumes
Change-Id: Id5152a793c6b530cb1419c559ac3ed71ee042037
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464614
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Seth Howell <seth.howell@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-14 21:24:27 +00:00
Karol Latecki
c7553efb02 test/nvmf: use single quotes in trap instruction
Previous commit which fixed this styling issue was not
rebased before merging, so this single place was missed.

Change-Id: I67c5024322c97afd031b3a28ab3dfd686cd96cee
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465125
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-14 06:55:32 +00:00
Karol Latecki
90c84ec532 test: use single quotes in trap instruction
Fix SC2064 issue.
Use single quotes, otherwise trap expands now rather than
when signalled.

Change-Id: I0b3a9157f52eed037e8d217f639c64d6876ec1e1
Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464655
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Pawel Kaminski <pawelx.kaminski@intel.com>
2019-08-14 02:20:45 +00:00
Jim Harris
0aa72ffb74 nvme: fix WRITE_TO_RO_RANGE status code
WRITE_TO_RO_PAGE was incorrect and misleading.  This
0x82 NVMe status code indicates a write to a read-only
range of LBAs.  So modify the constant name and
associated usages to use WRITE_TO_RO_RANGE instead.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I993dbebb5acc2e685a0e99aa14084942ef79d659
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/465083
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2019-08-14 02:19:49 +00:00
Changpeng Liu
87b7f28695 examples/nvme/perf: enable no_shn_notification option
Users can use '-N' option to disable shutdown notification
for faster shutdown process.

Change-Id: I227dc4da3aa2f89d23f9b235e979cb6d3e25d635
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/463950
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-08-13 22:50:03 +00:00
Changpeng Liu
2226750a7c nvme: add an option 'no_shn_notification' to driver
spdk_nvme_detach() will do the normal shutdown notification for
most cases, and it will take some time e.g. 2 seconds to finish
the process for PCIe based controllers.  If users' environment
has several drives, each drive will call spdk_nvme_detach() one
by one, and the shutdown process may take very long time.

Since users know exactly what they would like to do for the next
step, so here we provide an option to users, users can enable it
to skip the shutdown notification process so that they can have
very quick shutdown process, and when starting next time, the
controller can be enabled again.

Change-Id: Ie7f87115d57776729fab4cdac489cae6dc13511b
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/463949
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-08-13 22:50:03 +00:00
Changpeng Liu
5adac19ad0 blobfs: return error to caller when loading a bs which isn't blobfs
Also release the IO channels with filesystem data structure.

Change-Id: I75a5d427fe4837ad7d85444d09ded9ab41e0ca8e
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464851
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-08-13 17:12:02 +00:00
Changpeng Liu
62202dda32 blobfs: use macro instead of hardcoded BLOBFS string
We used "BLOBFS" as the signature when loading from blobstore, so define
a macro here.

Change-Id: Iff504a36686c2bc08c90c49b8a505b5533b62508
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464850
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-13 17:12:02 +00:00
Seth Howell
765f4a7363 test/nvmf: add initiator timeout test.
This test is meant to simulate uncommon network situations where lots of
I/O are getting dropped before they get to the initiator. Essentially,
we are trying to trigger the initiator timeout in the kernel which
disconnects from the target and reconnects after 10 seconds.

This test is different from the other tests that we have currently
because it doesn't rely on killing either the target or initiator.
Instead it expects the target to stay up and properly respond to the
initiator error conditions. The hope is that the fio job running on the
initiator can still complete successfully and the target doesn't crash
due to improperly handling the disconnect and reconnect.

This test should be added to the nightly CI jobs because it is rather
time consuming.

Change-Id: Id457d9eb21a980140f065663547b89b2c69ace93
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464459
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
2019-08-13 16:56:01 +00:00
Seth Howell
d2424824a1 bdev/delay: make latencies reconfigurable.
This will allow us to do interesting things in tests like configure a
bdev with a really long delay, and allow I/O to build up on a target to
see what happens, then decrease the latency to allow traffic to flow
through normally without ever having to delete and reconfigure the bdev.

Change-Id: Ibcb1101f8eed9fe3094ba239110cb4e49ace6554
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464454
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-13 16:56:01 +00:00
Shuhei Matsumoto
7877ddc86e iscsi: Use cached host and port name of connection widely
portal_host and portal_name were added to struct spdk_iscsi_conn long
ago but had not been used yet. Portal group and its portals can be
removed dynamically even if there is any binded connection. Using
cached pg_tag will avoid potential errors.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I56d02664a3e8b2398bbb9162b1c85856e991b5b4
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/463879
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-08-13 15:46:17 +00:00
Shuhei Matsumoto
f338b43a86 iscsi: Use cached portal group tag of connection widely
pg_tag was added to struct spdk_iscsi_conn long ago but had not
been used yet. Portal group and its portals can be removed
dynamically even if there is any binded connection. Using cached
pg_tag will avoid potential errors.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ic7a96ef97c3cab7e5a58aa7f439364b53694a1e4
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/463874
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-08-13 15:46:17 +00:00
Shuhei Matsumoto
23eb38f1ac iscsi: Use fixed size string for host and port name of connection
This will reduce the potential malloc failure.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ibcd631bf318ef6ece4ac337219652323ca5fd8f1
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464136
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-08-13 15:46:17 +00:00
Shuhei Matsumoto
20bbd038aa ut/bdev/raid: try to break lines after 100 characters
Some lines in this file are long and should be broken
as bdev/raid/raid_rpc.c was done recently.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I98a7f965b7230f32ab6a2d33a0f204591fa92ac1
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464484
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-13 00:27:17 +00:00
Shuhei Matsumoto
953975fe87 ut/bdev/raid: Reorder stub definitions by libraries or modules
Ordering stub definitions by libraries or modules will be a little
easier to read.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I7568c94691229188c348a9c5e3fba8f2bc1ecf04
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464483
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-13 00:27:17 +00:00
Shuhei Matsumoto
47155be6f3 ut/bdev/raid: Use cached pointer to expected output in IO verification
Use cached pointer to g_io_output in IO verification to improve
readability.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I71ced5d1e438d5046b9a5913a1a2860f8435d79b
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464485
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-13 00:27:17 +00:00
Shuhei Matsumoto
2b015b7a26 ut/bdev/raid: Factor out operation to setup expected IO output
Create a helper function set_io_output() to setup expected IO output.
Besides change the name of cached pointer to expeced IO output
from p to output because p is ambiguous.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I7574bf8362f7c5d7841e08b4fbd9a9b66836012a
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464482
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2019-08-13 00:27:17 +00:00
Shuhei Matsumoto
c0329efef3 ut/bdev/raid: Move create_construct_req() to clarify it is for RPC
create_construct_req() had been located just above raid_bdev_init().
However this location was not intuitive. Hence move create_construct_req()
to just above spdk_rpc_construct_raid_bdev().

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ia5998146ce7b4b9a3c3bdeb38b6dbc8dd21fa276
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/464481
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-08-13 00:27:17 +00:00