Spdk/test
Jim Harris 2a2b7296ee bdev: do not allow overlapped locked ranges
We can't allow overlapped locked ranges - otherwise
two different channels could be deadlocked.

So add a pending_locked_ranges to the bdev.  When we
start a lock operation, check if the new range overlaps
one that's already locked.  If so, put it on the pending
list.  When an unlock operation completes, we will
check if any pending ranges can now be locked.

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

Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478537
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2020-01-14 07:50:26 +00:00
..
app app: Add cli options to print SPDK version 2019-11-15 18:25:31 +00:00
bdev test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
blobfs test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
blobstore test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
common test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
compress test: add timing calls to run_test 2019-12-10 17:12:03 +00:00
config_converter rpc: Rename construct_vhost_blk_controller to vhost_create_blk_controller 2019-10-10 16:19:56 +00:00
cpp_headers queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
env test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
event test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
ftl test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
fuzz test: Shellcheck - correct rule: Double quote array 2019-11-27 07:08:57 +00:00
ioat test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
iscsi_tgt test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
json_config test: Shellcheck - correct rule: Expanding an array 2019-11-27 07:08:57 +00:00
lvol test/lvol: rewrite construct_lvol_bdev_name_twice to bash 2020-01-10 08:46:07 +00:00
make autobuild.sh: simplify and unify test suite. 2020-01-14 07:49:08 +00:00
nvme test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
nvmf test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
ocf test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
openstack test/openstack: Add possibility to reinstall devstack on required branch 2019-11-07 13:22:50 +00:00
pmem test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
rpc_client test: add timing calls to run_test 2019-12-10 17:12:03 +00:00
spdkcli test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
unit bdev: do not allow overlapped locked ranges 2020-01-14 07:50:26 +00:00
vhost test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
vmd test: move report_test_completion into run_test 2020-01-14 07:49:08 +00:00
Makefile jsonrpc-client: add new C client library 2018-10-11 20:07:44 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00