Commit Graph

8169 Commits

Author SHA1 Message Date
Vitaliy Mysak
f176690ec7 ocf: split remove_base() function
Replace remove_base() function by smaller ones:
  detach_cache(), remove_cache_bdev(),
  detach_core(), remove_core_bdev()

This change is necessary for implementing asynchronous unregister using
  trylock API.

Also introduce stop status variable because unregister path has changed.

Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452416 (master)

(cherry picked from commit 27ddbb7393)
Change-Id: I62599cafacdba685848bd7d32d3d5245907ee4a1
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457233
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-17 10:02:50 +00:00
Vitaliy Mysak
2577a292ef ocf: reorder management functions
Reorder function for register and unregister path to make code more
  readable.

Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452415 (master)

(cherry picked from commit b29ec8a261)
Change-Id: I3479b231de1f6a4f84f9538f345e62eb73e6847c
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457232
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-17 10:02:50 +00:00
Vitaliy Mysak
6381e4749d ocf: make stop_vbdev() function a step of unregister_path[]
stop_vbdev() is management a function so it should be one of the steps
  of unregister_path[]. It will have to be when stoping is asynchronous,
  but right now it is not a hard requirement.

remove_base() no longer calls stop_vbdev() because that was actually a
  dead code.

Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453653 (master)

(cherry picked from commit 1ddc8cb53a)
Change-Id: Ie2d87da0fbe7807efea084181ea386b323e6b9d8
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457231
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-17 10:02:50 +00:00
Jim Harris
611e2f7823 iscsi: fix hang on high QD large reads
We throttle the number of data_in operations per
connection.  Currently after a read is completed,
we try to send more data_in operations since one
has just been completed.

But we are trying to send more too early.  The data_in_cnt
doesn't actually get decremented until after the PDU is
written on the socket.  So this results in a case
where data_in_cnt == 64, and all 64 read operations
complete before any of those 64 are actually transmitted
onto the TCP socket.  There are no more read operations
waiting, so we won't try to handle the data_in list
again, and if none of these 64 resulted in a SCSI
command completing, then the initiator may not send us
any more read I/O which would have also kicked the data_in
list.

So the solution is to kick the data_in list after the
PDU has been written - not after a read I/O is completed
back from the SCSI layer.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455454 (master)

(cherry picked from commit 59a1fbe937)
Change-Id: Ia01cf96e8eb6e08ddcaaeff449386e78de7c5bc5
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457271
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: GangCao <gang.cao@intel.com>
2019-06-16 14:44:50 +00:00
Jim Harris
5f697b3148 iscsi: free pdus in hot remove path with no lun
The datain handling code path will set the LUN to
NULL if it finds a task's LUN has been hotremoved.
This could happen before the iscsi hotplug routine
actually gets a chance to run.  If this happens,
one of these tasks doesn't actually get freed, and
then will be freed after the lun is closed -
causing a segfault in the bdev layer since it may
have a bdev_io associated with it.

Found by running the iscsi_tgt/fio test after
applying the next patch in this series.

There's more work needed in this hot remove clean up
path - currently we are just freeing a lot of PDUs
rather than completing them with error status when
a LUN is hot removed.  But let's tackle that
separately.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/455460 (master)

(cherry picked from commit 462c12d9e9)
Change-Id: I8d27f0c7a79ae91cb6504e5ff6ffc8e346c9e54c
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457270
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-06-16 14:44:50 +00:00
Liu Xiaodong
01088b6906 test/notify: fix parameters' mismatching
Previous test cases got passed, is because all parameters
are filtered to be same accidentally, for example:
Previous, they are
	event=bdev_register:66ab4189
	ev_type=bdev_register:66ab4189
	ev_ctx=bdev_register:66ab4189
	ex_ev_type='bdev_register:[[:alnum:]-]+'
	ex_ev_ctx='bdev_register:[[:alnum:]-]+'
But actually they should be:
	event=bdev_register:66ab4189
	ev_type=bdev_register
	ev_ctx=66ab4189
	ex_ev_type='bdev_register'
	ex_ev_ctx='[[:alnum:]-]+'

Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454442 (master)

(cherry picked from commit 31736dc25c)
Change-Id: I7a2dc801931f792a39fc2775d883679cf8185fd0
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457240
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2019-06-16 14:44:50 +00:00
yidong0635
abb0ccd40a lib/ftl:fix scanbuild error in ftl_anm.c
Here we should consider about that ctrlr may be NULL,
so add assert here.

Signed-off-by: yidong0635 <dongx.yi@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454546 (master)

(cherry picked from commit 1c8efbdd51)
Change-Id: If4c8b2c6382ae6fdad541168d2e2b856fb5b8182
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457239
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-06-16 14:44:50 +00:00
Pawel Kaminski
4bf1f64f56 makefile: Add cc.flags.mk to .gitignore list
If user defines some flags then cc.flags.mk
file is generated. This causes tests to exit with 1.

This change help testing delete snapshot feature
where we need to define flag by command:
  export CFLAGS=-DSPDK_ENABLE_SNAPSHOT_DELETION

Signed-off-by: Pawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454457 (master)

(cherry picked from commit 9abbab3647)
Change-Id: I6ddd52d6260393785269e7f34a4b65bf95e5c4e2
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457235
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2019-06-16 14:44:50 +00:00
Jim Harris
94b8126d8a test/nvme: make reset test exit 0 on QEMU SSDs
There are some QEMU bugs with resets for NVMe emulation.
It simply hasn't been tested for this test's very
stressful reset scenarios.

Since this test is failing the nightly builds fairly
regularly on VMs, just have this test print an
error message and exit 0 when it finds a QEMU SSD.

This will also allow us to enable this test per-patch
in a future patch.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454517 (master)

(cherry picked from commit 223a87b023)
Change-Id: I1013f1d84ab4d0e13f713fe99352b011d77dd1f8
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457230
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 14:44:50 +00:00
GangCao
93be2ada98 iscsi: fix double free when failed to start target
When iSCSI target failed to start due to insuccificent resource like PDU pool,
one memory is double freed.

Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453981 (master)

(cherry picked from commit e358eaeeea)
Change-Id: I1b68d4f0f130b024be9f8406c8d1611e92a27787
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457225
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 14:44:50 +00:00
Ziye Yang
754c217d09 blobfs: fix the wrong parameter in spdk_file_close
According to my code understanding, should be assigned
itself instead of req.

Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452120 (master)

(cherry picked from commit dfbbcc74dd)
Change-Id: I0af4d56f8029269e0632bb6be6c9d912c7106cf8
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457213
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 14:44:50 +00:00
Richael Zhuang
c7658dea37 sock: fix a uninitialized-variable error
Valgrind reports error "epoll_ctl(event) points to uninitiazlized
byte(s)" when running unit test. Fix it by initializing variable event
to a known state.

Signed-off-by: Richael Zhuang <richael.zhuang@arm.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453525 (master)

(cherry picked from commit 09a782dcff)
Change-Id: I756687c1077eeb632c045c316a76714aa453b918
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457210
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Tomasz Zawadzki
a39873a5e5 test/raid: switch from config file to RPC
bdev_raid.sh was using configuration file (bdev.conf.in)
made for blockdev.sh. Changes in that config file affected
the raid tests.

Since the test actually only used two malloc devices as
raid bases, switching to RPC makes it simpler clearer
to understand what is used in tests. Additionally
making raid tests standalone from blockdev.sh.

Fixes issue #777

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453644 (master)

(cherry picked from commit 9011f2401b)
Change-Id: Ia4c5858852241a9fd8212690aefbf015c98d1b57
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457209
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Tomasz Zawadzki
a715b454e9 test/raid: always call rpc_py with correct socket
Previously the socket was only used in single rpc call,
upcoming patch will use of the $rpc_py.
Moving socket to $rpc_py simplifies calling it in multiple
parts of the script.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453643 (master)

(cherry picked from commit a394f62868)
Change-Id: Id1ba86740237c32a6f0259562c0b5c11d917bbcf
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457208
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Karol Latecki
12466d1ae3 scripts/rpc.py: fix pipe for whitespace separated list arguments
Ordinary python str.split() will by default split on each whitespace.
This includes arguments for rpc.py which expect a whitespace separated list,
eg. construct_raid_bdev -b "Bdev_1 Bdev_2".
shlex.split() prevents splitting on quoted arguments.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453652 (master)

(cherry picked from commit 22c3befd3d)
Change-Id: If37eb87cf82a161263f2b247baff5c8a77c43efc
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457222
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Vitaliy Mysak
d5aeeaf2f7 ocf: adopt examine to asynchronous construct
Make examine work with asynchronous bdev startup.

We need to count references of bdevs that are being examined,
  for the case when single cache bdev is referenced by multiple OCF
  vbdevs.

The construct function is not in fact asynchronous yet,
  but will be after adopting "trylock" API. Adopting trylock
  requires a lot of changes, so this patch is really to split
  implementation.

Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450033 (master)

(cherry picked from commit ac2b06c809)
Change-Id: I6ac091f2dd48462e74aa89cf54acb0306c30673b
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457207
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Darek Stojaczyk
18a977f289 test/ocf: add missing test completion report
This way we can track which machine runs OCF tests.

Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453542 (master)

(cherry picked from commit 937e10b1f6)
Change-Id: I51ad8f467965ae7051caac06b834a9db9f0b1a8d
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457206
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
f8c1f991f0 rpc.py: detect stdin pipe
If user calls rpc.py with no parameters, it currently
hangs, waiting for input.  It should print help in this
case instead.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453431 (master)

(cherry picked from commit ac0824b2d8)
Change-Id: I5939999c57b8db0916267935d79ccc1a3201748b
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457221
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
9cbb4af809 test/bdevio: allow reset test to fail on NVMe
NVMe-oF target doesn't support reset yet - but we want
to use bdevio to test other NVMe-oF target functionality
in the next patch.

An issue will be filed against the reset support so
that it gets added.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452935 (master)

(cherry picked from commit 4460761f22)
Change-Id: I84b2be9268a344ee9e613a39487345dc1b8187bf
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457205
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Shuhei Matsumoto
c2d4486dba bdev/raid: Make destroy_raid_bdev RPC wait for completion by callback
This is the end of the patch series.

Make destroy_raid_bdev RPC Wait for completion of spdk_bdev_unregister
to the raid bdev by using callback function.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450573 (master)

(cherry picked from commit bc49bbe232)
Change-Id: I3ed157ee71e3b8e6dc14b5b66732baba516eacce
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457561
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Shuhei Matsumoto
30c4390ea0 bdev/raid: Process only the first call of destroy_raid_bdev RPC
We have to process only the first call of destroy_raid_bdev RPC
for the same RAID bdev.

The existing flag destruct_called cannot be used for that purpose
because of the following reason.

destruct_called is set to true in both of
- destroy_raid_bdev RPC
- hot removal of any base bdev.
If destruct_called is set in destroy_raid_bdev RPC, destroy_raid_bdev
RPC must return immediately, but if destruct_called is set in hot
removal of any base bdev, destroy_raid_bdev RPC must go forward
with the current logic.

Hence add another flag destroy_started to struct raid_bdev and
use it.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450885 (master)

(cherry picked from commit 0d9a2b504a)
Change-Id: Ifeefcaa1d289499342d8bb9bc162ded65e0368dd
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457560
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Seth Howell
de271dbe13 nvmf: add srq opts to get_nvmf_transports method.
Print these out for the RDMA transport.

Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452272 (master)

(cherry picked from commit cbf74b20b3)
Change-Id: I44ab01088fcab180540a93e024855322036241db
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457204
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Seth Howell
f6823c5907 rdma: add a flag for disabling srq.
There are cases where srq can be a detriment. Add a flag to allow users
to disable srq even if they have a piece of hardware that supports it.

Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452271 (master)

(cherry picked from commit 350e429a57)
Change-Id: Ia3be8e8c8e8463964e6ff1c02b07afbf4c3cc8f7
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457195
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Seth Howell
e30e5d7c79 rdma: clean up the create_transport rpc docs
Just a couple minor clarifications.

Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452270 (master)

(cherry picked from commit 9d0e11d4a2)
Change-Id: I6c368d263296f742d5bfb0df431d3bf40c800c6c
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457194
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Seth Howell
d353ce1982 nvme_rdma: don't send split sgl requests inline.
In order to truly support multi-sgl inline requests in the RDMA
transport, we would need to increase the size of the
spdk_nvme_rdma_req object dramatically. This is because we would need
enough ibv_sge objects in it to support up to the maximum number of SGEs
supported by the target (for SPDK that is up to 16). Instead of doing
that or creating a new pool of shared ibv_sge objects to support that
case, just send split multi-sgl requests through the regular sgl path.

Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452266 (master)

(cherry picked from commit eb6006c242)
Change-Id: I78313bd88f3ed1cea3b772d9476a00087f49a4dd
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457581
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
850a5b642a build: add full version to SONAME for shared libraries
Fixes issue #781.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452895 (master)

(cherry picked from commit cb0c0509f4)
Change-Id: Ic0793721cb996ec01286ff21ed10fe2076b706ec
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457193
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
ca3a5cf8de test/nvmf: fix host/fio.sh test
get_lvs_free_mb only takes a UUID argument, not
a friendly name.  So revert that part of the changes
to this script made previously.

Also fix ordering of nested lvolstore and lvol names.

This fixes last night's nightly test failures for
nvmf.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453007 (master)

(cherry picked from commit 7685a48fd8)
Change-Id: I408ed787b6ff43314dd432c9fa7d9f5882c3d071
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457192
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
820d0320dd autopackage: move tarball build to nightly testing
There's not a lot of value in building from the
tarballs on every patch.  The git status --porcelain
check is still good on every patch though.  So
return early if it's not the nightly test - this may
cut up 90 seconds on some tests.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452810 (master)

(cherry picked from commit 4de00fed67)
Change-Id: I351a43b802061fe7d7bc4556b3b003a9ec73833f
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457191
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
adb85a252d test/rocksdb: suppress leak reports on thread local ctx
Signed-off-by: Jim Harris <james.r.harris@intel.com>

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452732 (master)

(cherry picked from commit 90586a7dca)
Change-Id: I77b9f640d75c12ec083bec791506bed921e26292
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457190
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
6df4d14eec test/nvmf: simplify host/fio.sh
We don't need to use the UUIDs for lvolstores and
lvols in the nightly test - just use the names that
we've specified.

Also remove the bdev loops - there's only one namespace
per subsystem.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452772 (master)

(cherry picked from commit 59955106a6)
Change-Id: I684b72ca4472009dd8bc49f5221a7937769f1ab8
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457189
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
ade2511df2 scripts/rpc.py: allow users to pipe multiple requests
Users can now pipe a large number of requests to
rpc.py, separated by newlines - each line will be
executed as if it was passed to rpc.py individually.

There is significant savings using this feature when
executing multiple requests through rpc.py.  On my
system, a loop of 30 RPCs related to setting up
10 NVMf subsystems takes 5 seconds when executed
one at a time.  With this new feature, it takes
less than 1 second.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452770 (master)

(cherry picked from commit 363fe506bc)
Change-Id: Iec957ca67461af8e8c41aee47e1d113714b22d3d
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457220
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Jim Harris
02b29614e7 scripts/rpc.py: add call_rpc_func()
This makes no functional change to the script, but
it prepares for an upcoming change allowing callers
to pipe a newline delimited list of rpc calls.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452769 (master)

(cherry picked from commit 6895f0f27e)
Change-Id: I695ca61510f9edd336713e88d134e42c1d78a1b4
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457219
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-06-16 08:46:05 +00:00
Darek Stojaczyk
a9085b08c3 thread: fix deadlock in spdk_for_each_thread error handling
We could return from spdk_for_each_thread() without
unlocking the global threading mutex, rendering the
entire SPDK application useless.

Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452087 (master)

(cherry picked from commit 7b3f411063)
Change-Id: I641c7b36db996f9a36310332279648014579de83
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457188
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-06-16 08:46:05 +00:00
Tomasz Zawadzki
cf0daf7f3b ocf: add callback argument to vbdev_ocf_construct()
Add callback for construct function.
It is not asynchronous yet, but will be after
  adopting asynchronous OCF API

Also adopt RPC construct call for this change.
This is done in this patch because (1) change is small (2) leaving
  implementation as TODO still requires implementing a mock because we
  decided that callback should be required rather than optional.

Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Change-Id: Ib6a78e2caf34ac057d4da53ad5dda47163e8a089
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452146 (master)
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457187
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-06-12 13:09:46 +00:00
Tomasz Zawadzki
5ba7fb92c6 ocf: pass vbdev in callback of mngt_ interface
Add vbdev as another argument in callback of vbdev management operations.
This is nice for async version of vbdev_ocf_construct() which uses mngt_
  interface and creates vbdev structure.

Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Change-Id: I8c88e0a881855b9f22fcf1f8174c888f3cfd6828
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452145 (master)
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457186
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2019-06-12 13:09:46 +00:00
Darek Stojaczyk
3706702904 version: 19.04.1-pre
Change-Id: I87b4e4a9573b1361fcaef12d363a426ba606637d
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453252
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@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-05-10 22:32:26 +00:00
Tomasz Zawadzki
f19fea15c1 SPDK 19.04
Change-Id: Ifc9c4610da51e911b8f68d7a8a5086e9940fd77e
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452647
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-04-30 19:33:48 +00:00
Tomasz Zawadzki
a16e53f06e compression: added docs and changelog info on reduce/compression bdev
Change-Id: Ib4bd9759bb97080b5ccc560580ac4519f105c8a6
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452652
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-04-30 19:33:48 +00:00
Ben Walker
9bac8515ce CHANGELOG: Add section about build options
Change-Id: I9cbab831496f4bee1f1be36044fc5622474848bd
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452692
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-04-30 19:33:48 +00:00
Ben Walker
f76c869a10 CHANGELOG: Add io_uring section
Change-Id: I7132290dd478aefcd81e3f21b884bf8404b4f37f
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452691
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-04-30 19:33:48 +00:00
Tomasz Zawadzki
0731683861 CHANGELOG: added remaining items for 19.04
Change-Id: Ia9eac4f6c5fc5385f9eca22d178de94065870fd7
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452646
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-04-30 19:33:48 +00:00
Darek Stojaczyk
63eef98c4b CHANGELOG: add a few missing updates
Change-Id: I522de958bc6482608f9de94b8033aa8189849aad
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452641
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-04-30 19:33:48 +00:00
Ben Walker
5c0f6700aa CHANGELOG: Update env section
Change-Id: Ie0c9276f5321b103ef399f387106ec1789522392
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452690
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-04-30 19:33:48 +00:00
Ben Walker
13c416c027 CHANGELOG: Update thread section
Change-Id: Ie8f167e8ea9a72bfb559f644c6556c66ec0256b4
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452689
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-04-30 19:33:48 +00:00
Ben Walker
0017ba8b4b CHANGELOG: Update nvme section
Change-Id: I4fc9e597281323baf8f03f5977db264efff77fbb
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452688
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-04-30 19:33:48 +00:00
Darek Stojaczyk
ae628a844e CHANGELOG: mention AIO completion reaping
Change-Id: I4bf17559eeb372211bc32d0a2d1cb72db9f99f17
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452638
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-04-30 19:33:48 +00:00
Darek Stojaczyk
ef0093adf2 CHANGELOG: add missing vhost updates
Change-Id: Ie5a3defd8bc12b724799b9a4801574f8831732ff
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452637
Tested-by: SPDK CI Jenkins <sys_sgci@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>
2019-04-30 19:33:48 +00:00
Darek Stojaczyk
59688f4db7 CHANGELOG: merge two "thread" sections
Change-Id: I573baddeb52537459083b92e78eab612dc0e0f70
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452636
Tested-by: SPDK CI Jenkins <sys_sgci@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>
2019-04-30 19:33:48 +00:00
Tomasz Zawadzki
b5f96b0ea5 ut/blobstore: write and allocate clusters from multiple threads
This patch verifies that functionality of only releasing cluster
that was originaly claimed in race thread condition.

Change-Id: I4d60ffdb4fd6612d61a761835aae2fd1bf81b7fd
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452626
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-04-30 14:43:09 +00:00
Tomasz Zawadzki
fde382d1ee blobstore: release same cluster as claimed during initial insert
When new writes come from different threads, cluster allocations can
happen many times at once. The corresponding cluster number for the map
is determined via _spdk_bs_allocate_cluster() and kept in ctx->new_cluster.

The cluster itself is inserted into the map only on md_thread.
When there is conflict of two threads allocating same cluster,
message is returned to the losting thread to release the cluster.

Before this patch, on such failure the cluster to release
was calcualted from the page. This resulted in releasing the
cluster claim for thread that actually won it.

This patch makes it so that cluster allocated and save in ctx
is used instead.

Change-Id: Id10811b887f673f9b89e41e0637d4422f1d7270d
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452625
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-04-30 14:43:09 +00:00