Spdk/scripts/rpc
Shuhei Matsumoto 28589dbbe8 rpc: Add start_subsystems_init RPC to start subsystems when -w option is used
RPC state of the RPC server, g_rpc_state is set by spdk_rpc_set_state(state).

If the command line option '-w' is specified, g_rpc_state is initialized to
SPDK_RPC_STARTUP. Otherwise, g_rpc_state is initialized to SPDK_RPC_RUNTIME.

When g_rpc_state is initialized to SPDK_RPC_STARTUP, SPDK start RPC server
and wait for start_subsystems_init RPC.

When SPDK receive start_subsystems_init RPC, SPDK start initialization of
subsystems. The RPC waits for completion of initialization of subsystems.

When SPDK completes initialization of subsystems, SPDK change
g_rpc_state to SPDK_RPC_RUNTIME and then start application.

Upcoming new RPCs to initialize options of NVMf-tgt and iSCSI-tgt will be
able to be allowed before start_subsystems_init RPC is called.

Change-Id: I4fa9c22b64e2fdbc9b9fdb2c47f0018f73f84f7e
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/406919
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2018-05-03 19:48:15 +00:00
..
__init__.py rpc: Add start_subsystems_init RPC to start subsystems when -w option is used 2018-05-03 19:48:15 +00:00
app.py scripts/rpc.py: pass client as separate parameter 2018-03-30 16:48:47 -04:00
bdev.py vbdev/passthru: add the construct_passthru_bdev RPC method 2018-04-20 14:58:13 -04:00
client.py scripts/rpc.py: Handle socket connection error 2018-04-12 11:24:04 -04:00
iscsi.py scripts/rpc.py: pass client as separate parameter 2018-03-30 16:48:47 -04:00
log.py scripts/rpc.py: pass client as separate parameter 2018-03-30 16:48:47 -04:00
lvol.py lvol: add destroy_lvol_bdev RPC method 2018-04-24 21:33:56 +00:00
nbd.py scripts/rpc.py: pass named args to nbd.py 2018-03-30 16:48:47 -04:00
net.py scripts/rpc.py: pass client as separate parameter 2018-03-30 16:48:47 -04:00
nvmf.py nvmf: add capability to add namespaces dynamically during active connection 2018-03-30 19:24:29 -04:00
pmem.py rpc: truncate num_blocks in create_pmem_pool 2018-05-03 19:46:28 +00:00
subsystem.py scripts/rpc.py: pass named args to subsystem.py 2018-03-30 16:48:47 -04:00
vhost.py rpc/vhost_nvme: add rpc support for vhost-nvme target 2018-04-20 15:24:50 -04:00