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:
Jim Harris 2022-03-04 20:43:23 +00:00
parent 13cffc5e76
commit 9da3d742ff
3 changed files with 4 additions and 0 deletions

View File

@ -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->bdev_opts, bdev_opts, sizeof(*bdev_opts));
ctx->bdev_opts.from_discovery_service = true;
ctx->calling_thread = spdk_get_thread();
TAILQ_INIT(&ctx->nvm_entry_ctxs);
TAILQ_INIT(&ctx->discovery_entry_ctxs);

View File

@ -56,6 +56,7 @@ struct nvme_ctrlr_opts {
int32_t ctrlr_loss_timeout_sec;
uint32_t reconnect_delay_sec;
uint32_t fast_io_fail_timeout_sec;
bool from_discovery_service;
};
struct nvme_async_probe_ctx {

View File

@ -517,6 +517,8 @@ rpc_bdev_nvme_attach_controller(struct spdk_jsonrpc_request *request,
ctx->request = request;
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,
rpc_bdev_nvme_attach_controller_done, ctx, &ctx->req.drv_opts,
&ctx->req.bdev_opts, multipath);