bdev/nvme: add DISCOVERY_DEBUGLOG/ERRLOG
These macros are used to prefix the following to any discovery-related DEBUGLOG or ERRLOG: Discovery[127.0.0.1:8009] Inside the brackets are the traddr and trsvcid of the discovery service associated with that message. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ib1991a13f550bb8c9aaf1194a56b218cbd71c96c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11733 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
9614dca9f9
commit
bcb75753dc
@ -4121,6 +4121,12 @@ bdev_nvme_delete(const char *name, const struct nvme_path_id *path_id)
|
||||
return rc;
|
||||
}
|
||||
|
||||
#define DISCOVERY_DEBUGLOG(ctx, format, ...) \
|
||||
SPDK_DEBUGLOG(bdev_nvme, "Discovery[%s:%s] " format, ctx->trid.traddr, ctx->trid.trsvcid, ##__VA_ARGS__);
|
||||
|
||||
#define DISCOVERY_ERRLOG(ctx, format, ...) \
|
||||
SPDK_ERRLOG("Discovery[%s:%s] " format, ctx->trid.traddr, ctx->trid.trsvcid, ##__VA_ARGS__);
|
||||
|
||||
struct discovery_entry_ctx {
|
||||
char name[128];
|
||||
struct spdk_nvme_transport_id trid;
|
||||
@ -4229,7 +4235,7 @@ discovery_attach_controller_done(void *cb_ctx, size_t bdev_count, int rc)
|
||||
struct discovery_entry_ctx *entry_ctx = cb_ctx;
|
||||
struct discovery_ctx *ctx = entry_ctx->ctx;;
|
||||
|
||||
SPDK_DEBUGLOG(bdev_nvme, "attach %s done\n", entry_ctx->name);
|
||||
DISCOVERY_DEBUGLOG(ctx, "attach %s done\n", entry_ctx->name);
|
||||
ctx->attach_in_progress--;
|
||||
if (ctx->attach_in_progress == 0) {
|
||||
discovery_complete(ctx);
|
||||
@ -4247,7 +4253,7 @@ discovery_log_page_cb(void *cb_arg, int rc, const struct spdk_nvme_cpl *cpl,
|
||||
bool found;
|
||||
|
||||
if (rc || spdk_nvme_cpl_is_error(cpl)) {
|
||||
SPDK_ERRLOG("could not get discovery log page\n");
|
||||
DISCOVERY_ERRLOG(ctx, "could not get discovery log page\n");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -4266,7 +4272,7 @@ discovery_log_page_cb(void *cb_arg, int rc, const struct spdk_nvme_cpl *cpl,
|
||||
if (!found) {
|
||||
struct nvme_path_id path = {};
|
||||
|
||||
SPDK_DEBUGLOG(bdev_nvme, "detach controller\n");
|
||||
DISCOVERY_DEBUGLOG(ctx, "detach controller\n");
|
||||
|
||||
path.trid = entry_ctx->trid;
|
||||
bdev_nvme_delete(entry_ctx->name, &path);
|
||||
@ -4286,7 +4292,7 @@ discovery_log_page_cb(void *cb_arg, int rc, const struct spdk_nvme_cpl *cpl,
|
||||
|
||||
new_ctx = calloc(1, sizeof(*new_ctx));
|
||||
if (new_ctx == NULL) {
|
||||
SPDK_ERRLOG("could not allocate new entry_ctx\n");
|
||||
DISCOVERY_ERRLOG(ctx, "could not allocate new entry_ctx\n");
|
||||
break;
|
||||
}
|
||||
|
||||
@ -4317,7 +4323,7 @@ discovery_log_page_cb(void *cb_arg, int rc, const struct spdk_nvme_cpl *cpl,
|
||||
|
||||
new_ctx = calloc(1, sizeof(*new_ctx));
|
||||
if (new_ctx == NULL) {
|
||||
SPDK_ERRLOG("could not allocate new entry_ctx\n");
|
||||
DISCOVERY_ERRLOG(ctx, "could not allocate new entry_ctx\n");
|
||||
break;
|
||||
}
|
||||
|
||||
@ -4338,7 +4344,7 @@ discovery_log_page_cb(void *cb_arg, int rc, const struct spdk_nvme_cpl *cpl,
|
||||
TAILQ_INSERT_TAIL(&ctx->nvm_entry_ctxs, new_ctx, tailq);
|
||||
ctx->attach_in_progress++;
|
||||
} else {
|
||||
SPDK_ERRLOG("bdev_nvme_create failed (%s)\n", spdk_strerror(-rc));
|
||||
DISCOVERY_ERRLOG(ctx, "bdev_nvme_create failed (%s)\n", spdk_strerror(-rc));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4358,9 +4364,9 @@ get_discovery_log_page(struct discovery_ctx *ctx)
|
||||
ctx->in_progress = true;
|
||||
rc = spdk_nvme_ctrlr_get_discovery_log_page(ctx->ctrlr, discovery_log_page_cb, ctx);
|
||||
if (rc != 0) {
|
||||
SPDK_ERRLOG("could not get discovery log page\n");
|
||||
DISCOVERY_ERRLOG(ctx, "could not get discovery log page\n");
|
||||
}
|
||||
SPDK_DEBUGLOG(bdev_nvme, "sent discovery log page command\n");
|
||||
DISCOVERY_DEBUGLOG(ctx, "sent discovery log page command\n");
|
||||
}
|
||||
|
||||
static void
|
||||
@ -4370,16 +4376,16 @@ discovery_aer_cb(void *arg, const struct spdk_nvme_cpl *cpl)
|
||||
uint32_t log_page_id = (cpl->cdw0 & 0xFF0000) >> 16;
|
||||
|
||||
if (spdk_nvme_cpl_is_error(cpl)) {
|
||||
SPDK_ERRLOG("aer failed\n");
|
||||
DISCOVERY_ERRLOG(ctx, "aer failed\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (log_page_id != SPDK_NVME_LOG_DISCOVERY) {
|
||||
SPDK_ERRLOG("unexpected log page 0x%x\n", log_page_id);
|
||||
DISCOVERY_ERRLOG(ctx, "unexpected log page 0x%x\n", log_page_id);
|
||||
return;
|
||||
}
|
||||
|
||||
SPDK_DEBUGLOG(bdev_nvme, "got aer\n");
|
||||
DISCOVERY_DEBUGLOG(ctx, "got aer\n");
|
||||
if (ctx->in_progress) {
|
||||
ctx->pending = true;
|
||||
return;
|
||||
@ -4393,10 +4399,10 @@ start_discovery_done(void *cb_ctx)
|
||||
{
|
||||
struct discovery_ctx *ctx = cb_ctx;
|
||||
|
||||
SPDK_DEBUGLOG(bdev_nvme, "start discovery done\n");
|
||||
DISCOVERY_DEBUGLOG(ctx, "start discovery done\n");
|
||||
ctx->start_cb_fn(ctx->cb_ctx, ctx->rc);
|
||||
if (ctx->rc != 0) {
|
||||
SPDK_ERRLOG("could not connect to discovery ctrlr\n");
|
||||
DISCOVERY_ERRLOG(ctx, "could not connect to discovery ctrlr\n");
|
||||
TAILQ_REMOVE(&g_discovery_ctxs, ctx, tailq);
|
||||
free_discovery_ctx(ctx);
|
||||
}
|
||||
@ -4411,7 +4417,7 @@ discovery_attach_cb(void *cb_ctx, const struct spdk_nvme_transport_id *trid,
|
||||
|
||||
ctx = SPDK_CONTAINEROF(user_opts, struct discovery_ctx, opts);
|
||||
|
||||
SPDK_DEBUGLOG(bdev_nvme, "discovery ctrlr attached\n");
|
||||
DISCOVERY_DEBUGLOG(ctx, "discovery ctrlr attached\n");
|
||||
ctx->probe_ctx = NULL;
|
||||
ctx->ctrlr = ctrlr;
|
||||
spdk_nvme_ctrlr_register_aer_callback(ctx->ctrlr, discovery_aer_cb, ctx);
|
||||
@ -4438,7 +4444,7 @@ discovery_poller(void *arg)
|
||||
if (ctx->detach_ctx == NULL) {
|
||||
rc = spdk_nvme_detach_async(ctx->ctrlr, &ctx->detach_ctx);
|
||||
if (rc != 0) {
|
||||
SPDK_ERRLOG("could not detach discovery ctrlr\n");
|
||||
DISCOVERY_ERRLOG(ctx, "could not detach discovery ctrlr\n");
|
||||
detach_done = true;
|
||||
}
|
||||
} else {
|
||||
@ -4504,7 +4510,7 @@ bdev_nvme_start_discovery(struct spdk_nvme_transport_id *trid,
|
||||
}
|
||||
ctx->probe_ctx = spdk_nvme_connect_async(&ctx->trid, &ctx->opts, discovery_attach_cb);
|
||||
if (ctx->probe_ctx == NULL) {
|
||||
SPDK_ERRLOG("could not start discovery connect\n");
|
||||
DISCOVERY_ERRLOG(ctx, "could not start discovery connect\n");
|
||||
free_discovery_ctx(ctx);
|
||||
return -EIO;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user