bdev_nvme: add nvme_ctrlr::from_discovery_service
This keeps track if an nvme_ctrlr was created implicitly by the discovery service. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I493b7cacfe563737f45a1fffca98855a1929a751 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11817 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
This commit is contained in:
parent
13cffc5e76
commit
9da3d742ff
@ -4735,6 +4735,7 @@ bdev_nvme_start_discovery(struct spdk_nvme_transport_id *trid,
|
|||||||
}
|
}
|
||||||
memcpy(&ctx->drv_opts, drv_opts, sizeof(*drv_opts));
|
memcpy(&ctx->drv_opts, drv_opts, sizeof(*drv_opts));
|
||||||
memcpy(&ctx->bdev_opts, bdev_opts, sizeof(*bdev_opts));
|
memcpy(&ctx->bdev_opts, bdev_opts, sizeof(*bdev_opts));
|
||||||
|
ctx->bdev_opts.from_discovery_service = true;
|
||||||
ctx->calling_thread = spdk_get_thread();
|
ctx->calling_thread = spdk_get_thread();
|
||||||
TAILQ_INIT(&ctx->nvm_entry_ctxs);
|
TAILQ_INIT(&ctx->nvm_entry_ctxs);
|
||||||
TAILQ_INIT(&ctx->discovery_entry_ctxs);
|
TAILQ_INIT(&ctx->discovery_entry_ctxs);
|
||||||
|
@ -56,6 +56,7 @@ struct nvme_ctrlr_opts {
|
|||||||
int32_t ctrlr_loss_timeout_sec;
|
int32_t ctrlr_loss_timeout_sec;
|
||||||
uint32_t reconnect_delay_sec;
|
uint32_t reconnect_delay_sec;
|
||||||
uint32_t fast_io_fail_timeout_sec;
|
uint32_t fast_io_fail_timeout_sec;
|
||||||
|
bool from_discovery_service;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct nvme_async_probe_ctx {
|
struct nvme_async_probe_ctx {
|
||||||
|
@ -517,6 +517,8 @@ rpc_bdev_nvme_attach_controller(struct spdk_jsonrpc_request *request,
|
|||||||
|
|
||||||
ctx->request = request;
|
ctx->request = request;
|
||||||
ctx->count = NVME_MAX_BDEVS_PER_RPC;
|
ctx->count = NVME_MAX_BDEVS_PER_RPC;
|
||||||
|
/* Should already be zero due to the calloc(), but set explicitly for clarity. */
|
||||||
|
ctx->req.bdev_opts.from_discovery_service = false;
|
||||||
rc = bdev_nvme_create(&trid, ctx->req.name, ctx->names, ctx->count,
|
rc = bdev_nvme_create(&trid, ctx->req.name, ctx->names, ctx->count,
|
||||||
rpc_bdev_nvme_attach_controller_done, ctx, &ctx->req.drv_opts,
|
rpc_bdev_nvme_attach_controller_done, ctx, &ctx->req.drv_opts,
|
||||||
&ctx->req.bdev_opts, multipath);
|
&ctx->req.bdev_opts, multipath);
|
||||||
|
Loading…
Reference in New Issue
Block a user