Spdk/test/unit/lib
Jim Harris 671b77e5cd bdev: remove vbdevs and base_bdevs arrays
The intents of these arrays was to keep track in the
bdev layer of all base<->virtual bdev relationships -
i.e. which member disk bdevs make up a RAID bdev,
which logical volume bdevs are associated with a
bdev that contains an lvolstore, etc.

Currently none of this is used however.  And trying
to keep track in the bdev layer instead of asking
the bdev modules for the relationships has a number
of complications.  Early one, we tried to do this
with TAILQs - but that doesn't work since this can't
be done with a single TAILQ_ENTRY in the bdev
structures.  So we moved to arrays - that works a bit
better, but then the pointer arrays have to be
realloc'd which isn't ideal.

The biggest problem though with these arrays is that
they held bdev pointers - not bdev descriptor pointers.
It's not really valid to access bdevs without a
descriptor - the descriptors are what make sure active
references are accounted for when a bdev is hotplugged.
Of course the bdev layer knows when a bdev is getting
removed and could go and do the updates to these
arrays separately - but that just seems very convoluted.

So for now just remove these arrays completely.  If
there is a future need for the bdev layer to
understand relationships between bdevs, we can add
module APIs so that the generic layer can ask
the modules about the relationships.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I99ef1068240bff1262f64f234260cf2fb44df51d
Reviewed-on: https://review.gerrithub.io/420932
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
2018-08-17 00:11:03 +00:00
..
bdev bdev: remove vbdevs and base_bdevs arrays 2018-08-17 00:11:03 +00:00
blob test: Simplify the mock library 2018-08-09 17:18:23 +00:00
blobfs blobfs: change the return type of spdk_file_truncate 2018-07-26 01:42:17 +00:00
event subsystem: add per module configuration dump 2018-03-23 02:47:40 -04:00
ioat ut/ioat: drop legacy mocks 2018-07-03 16:29:42 +00:00
iscsi iscsi: Support hot removal of LUN based on LUN open/close 2018-07-17 17:43:28 +00:00
json ut/json: add a few test cases to json_parse_ut 2018-07-06 22:47:18 +00:00
jsonrpc jsonrpc: call spdk_jsonrpc_free_request only from server thread 2018-08-13 20:01:07 +00:00
log rpc.py: remove references of "debug" trace flag 2018-04-25 17:31:28 +00:00
lvol lvol: destroy_lvol_bdev implementation 2018-07-25 17:06:45 +00:00
nvme test: Simplify the mock library 2018-08-09 17:18:23 +00:00
nvmf nvmf: Queue pairs can no longer be removed from poll groups 2018-08-13 18:57:45 +00:00
scsi scsi: Enforce to open LUN and then alloc IO channel by using descriptor 2018-07-17 17:43:28 +00:00
sock sock: fix socket memory free 2018-08-10 15:38:38 +00:00
thread test: Move poller test to the thread unit test 2018-07-02 19:12:45 +00:00
util util/base64: add base64 lib and unit tests 2018-07-19 00:50:54 +00:00
vhost ut/vhost: remove backend-specific tests 2018-07-03 22:18:57 +00:00
json_mock.c subsystem: add per module configuration dump 2018-03-23 02:47:40 -04:00
Makefile net: split sock abstraction into lib/sock 2018-06-22 17:09:57 +00:00