Spdk/include/spdk
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
..
assert.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
barrier.h barrier.h: change PPC64 spdk_rmb from lwsync to sync 2018-06-05 17:56:22 +00:00
base64.h util/base64: add base64 lib and unit tests 2018-07-19 00:50:54 +00:00
bdev_module.h bdev: remove vbdevs and base_bdevs arrays 2018-08-17 00:11:03 +00:00
bdev.h bdev: add tracking for time spent processing I/O. 2018-07-31 23:26:07 +00:00
bit_array.h util/bit_array: add functions to count 0/1 bits 2018-06-04 17:24:48 +00:00
blob_bdev.h bdev: rename spdk_bdev_module_if -> spdk_bdev_module 2018-03-13 00:55:12 -04:00
blob.h blobstore: add decouple parent function 2018-06-21 22:50:03 +00:00
blobfs.h blobfs: change the return type of spdk_file_truncate 2018-07-26 01:42:17 +00:00
conf.h include/conf: add comments for public APIs 2018-02-26 11:59:09 -05:00
copy_engine.h include/copy_engine.h: add comments for callback functions 2018-05-28 01:45:03 +00:00
cpuset.h doc: fix a bunch of parameter-related Doxygen comments 2018-06-19 17:29:06 +00:00
crc16.h util/crc16: add crc16 library support and unit tests 2017-12-20 15:12:26 -05:00
crc32.h Clean up some incorrect Copyright statements 2018-07-30 16:29:38 +00:00
endian.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
env.h env/app: add unlink hugepages option to app 2018-07-17 07:06:53 +00:00
event.h app: allow full-name command line options 2018-08-13 17:30:10 +00:00
fd.h include/fd.h: add comments for pubclic APIs 2018-01-04 12:12:10 -05:00
gpt_spec.h bdev/gpt: dump partition name 2017-07-12 18:12:52 -04:00
histogram_data.h util: enable dynamic spdk_histogram_data sizing 2017-12-29 14:20:48 -05:00
io_channel.h thread: Rename io_channel.h to thread.h 2018-06-12 15:24:07 +00:00
ioat_spec.h ioat: clear the internal channel error register on reset 2018-08-13 16:59:18 +00:00
ioat.h include/ioat.h: add comments for public APIs 2018-03-14 13:02:06 -04:00
iscsi_spec.h iscsi: fix layout of logout request reason field 2017-09-22 16:11:11 -04:00
json.h json: Add spdk_json_decode_uint16 2018-06-05 21:30:02 +00:00
jsonrpc.h rpc: Add state_mask to each RPC method to make sets of RPCs 2018-05-03 19:48:15 +00:00
likely.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
log.h doc: fix a bunch of parameter-related Doxygen comments 2018-06-19 17:29:06 +00:00
lvol.h lvol: destroy_lvol_bdev implementation 2018-07-25 17:06:45 +00:00
mmio.h mmio: add functions for 1 and 2 byte I/O accesses 2017-10-13 10:46:00 -04:00
nbd.h nbd: add JSON config dump 2018-04-24 21:46:42 +00:00
net.h include/net.h: remove non public functions to private header file 2018-04-11 12:10:14 -04:00
nvme_intel.h include: move standard includes into spdk/stdinc.h 2017-05-08 10:11:01 -07:00
nvme_ocssd_spec.h ocssd: lba_status bit array on vector completion queue entry 2018-07-02 22:37:53 +00:00
nvme_ocssd.h ocssd: add chunk info list as mptr of vector reset 2018-07-09 18:54:22 +00:00
nvme_spec.h nvme_spec: add VWC flush broadcast bits (TP 4035) 2018-06-26 22:51:37 +00:00
nvme.h nvme: add spdk_nvme_ns_get_extended_sector_size 2018-08-16 04:38:10 +00:00
nvmf_fc_spec.h nvmf: FC-NVMe spec. header file 2018-07-06 22:49:20 +00:00
nvmf_spec.h nvmf: update spdk_nvmf_fabric_prop_get_cmd.attrib 2018-07-31 16:11:19 +00:00
nvmf.h nvmf: Queue pairs can no longer be removed from poll groups 2018-08-13 18:57:45 +00:00
pci_ids.h nvme: add chk_rdy quirk for some Samsung drives 2018-07-14 01:47:47 +00:00
queue_extras.h scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
queue.h Add extern "C" wrapper to all public headers 2016-02-12 07:52:35 -07:00
rpc.h rpc: Add state_mask to each RPC method to make sets of RPCs 2018-05-03 19:48:15 +00:00
scsi_spec.h scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
scsi.h iscsi: Support hot removal of LUN based on LUN open/close 2018-07-17 17:43:28 +00:00
sock.h doc: fix some doxygen warnings 2018-06-19 21:23:06 +00:00
stdinc.h app: allow full-name command line options 2018-08-13 17:30:10 +00:00
string.h string: escape references to \r and \n 2018-06-19 15:18:08 +00:00
thread.h thread: add spdk_thread_get_count() 2018-06-13 00:38:41 +00:00
trace.h doc: fix a bunch of parameter-related Doxygen comments 2018-06-19 17:29:06 +00:00
util.h util: add spdk_u32_is_pow2() function 2017-08-11 19:36:30 -04:00
uuid.h doc: fix a bunch of parameter-related Doxygen comments 2018-06-19 17:29:06 +00:00
version.h version: 18.10 pre 2018-08-03 00:42:36 +00:00
vhost.h vhost/scsi: do not fail scsi_dev_add_tgt() if hotplug is not supported 2018-07-05 01:51:22 +00:00