Spdk/test/unit/lib/bdev
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
..
bdev_ocssd.c bdev/ocssd: media management events 2019-12-20 10:02:15 +00:00
bdev_raid.c test/raid: remove unused spdk_thread_send_msg stub 2019-11-01 17:46:42 +00:00
bdev_zone.c bdev: rename spdk_bdev_get_io to bdev_channel_get_io 2019-11-20 09:34:18 +00:00
bdev.c bdev: do not allow overlapped locked ranges 2020-01-14 07:50:26 +00:00
compress.c ut/compress: remove rte_eal_get_configuration stub 2019-12-17 09:29:39 +00:00
crypto.c ut/crypto: redirect mock rte_lcore_count 2019-12-17 09:29:39 +00:00
gpt test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
mt bdev: inherit locked ranges for new channels 2020-01-14 07:50:26 +00:00
part.c trace: remove short_name 2019-05-02 08:41:56 +00:00
pmem bdev: Not assert but pass completion status to spdk_bdev_io_get_buf_cb 2019-02-27 01:59:11 +00:00
scsi_nvme.c test/unit: remove duplicate mk/spdk.common.mk includes 2019-02-11 09:30:27 +00:00
vbdev_lvol.c bdev/vbdev_lvol: Fix scanbuild error about Null poniter parameter. 2019-07-23 00:17:25 +00:00
vbdev_zone_block.c bdev/zone: Register/unregister zoned bdev 2019-11-15 20:27:14 +00:00
Makefile bdev/ocssd: create / delete calls 2019-12-06 14:45:05 +00:00