Spdk/lib
Paul Luse cbb8f46575 bdev: fix timing of init_complete callback
Recently added a new call to bdev modules to inform them of when
bdev subsystem init is complete. The intention is for modules like
RAID or crypto that need to take some action after the initial bdev
subsystem init such as 'build whatever RAID volumes you can, all
initial examine callbacks are done' or in the case of crypto 'OK,
construct all of your crypto structures for HW and SW PMDs and
associate each to configured vbdevs.'

Now that I've implemented the crypto case I see that the call was
misplaced and will execute following any examine_done call including
subsequent bdev registrations.  Those cases, for both RAID and crypto,
need to follow a different path (examine) since all of the activities
associated with the new init_complete() callback are intended just for
the very first initialization of SPDK.

So, long story short, moving this call so that it's only executed once
when subsystem init is done and not on subsequent bdev registrations.

Change-Id: I952b90e33fc67d48d86c0a7de2ad47c74a98e839
Signed-off-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/408209
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
2018-04-20 15:16:09 -04:00
..
bdev bdev: fix timing of init_complete callback 2018-04-20 15:16:09 -04:00
blob blobstore: clone-snapshot classification 2018-04-17 17:05:53 -04:00
blobfs blobfs: sync length if append occurs after cache eviction 2018-04-11 16:03:14 -04:00
conf conf: Remove use of perror() for strdup() failure 2017-12-15 16:13:27 -05:00
copy copy/ioat: reduce log level of informational messages 2018-04-06 18:31:54 -04:00
cunit include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
env_dpdk env_dpdk: track PCI devices internally for vtophys 2018-04-02 14:03:05 -04:00
event event: Handle invalid lcore passed to spdk_event_allocate 2018-04-19 15:48:36 -04:00
ioat scripts/check_format: check for spaces before tabs 2018-03-05 11:09:13 -05:00
iscsi iscsi: fix nonsensical poll_group asserts 2018-04-19 15:37:42 -04:00
json json: add va_arg versions for write_string and write_named_string 2018-02-23 15:27:16 -05:00
jsonrpc jsonrpc: convert send queue to singly linked tail queue 2018-04-12 00:11:35 -04:00
log log: rename SPDK_TRACE_* to SPDK_LOG_* 2017-12-07 12:23:19 -05:00
lvol lvol: Creating 2 lvols simultaneously with same name 2018-04-17 14:03:22 -04:00
nbd lib: Return instead of abort() in nbd 2018-03-13 13:41:50 -04:00
net vpp: add support for vpp comm library 2018-04-17 20:33:43 -04:00
nvme nvme: verify remove_cb is non-NULL before calling 2018-04-19 18:47:51 -04:00
nvmf nvmf: Re-lookup sgroup after the array is realloc'd 2018-04-19 15:48:36 -04:00
rocksdb rocksdb: remove nonsensical fallocate #ifdef 2018-03-27 12:41:12 -04:00
rpc rpc: remove the existing socket file when application starts 2018-03-02 16:48:53 -05:00
scsi scsi: validate dev name length 2018-04-10 15:43:03 -04:00
trace app,lib: fix checking mmap return value 2018-03-30 16:18:34 -04:00
ut_mock test/mock: add pthread_self 2017-09-19 17:15:15 -04:00
util io_channel: add asserts in spdk_io_device_register 2018-04-18 12:33:25 -04:00
vhost vhost/nvme: remove pointless task NULL check 2018-04-19 18:47:59 -04:00
virtio bdev/virtio: Abort on bad index in virtio_dev_queue_get_thread 2018-04-19 15:48:36 -04:00
Makefile virtio: add new library virtio 2017-12-26 13:03:29 -05:00