From 20bee521a6aa46c430fe1cccc0a2c2f6b31b5112 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Mon, 22 Aug 2016 09:15:35 -0700 Subject: [PATCH] log: dynamically generate usage for -t option Change-Id: I8c709b507c4cb00092d5dc9b1e8ca1c0fe880b02 Signed-off-by: Daniel Verkamp --- app/iscsi_tgt/iscsi_tgt.c | 6 +----- app/nvmf_tgt/nvmf_tgt.c | 7 ++----- include/spdk/log.h | 2 ++ lib/log/log.c | 19 +++++++++++++++++++ 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/app/iscsi_tgt/iscsi_tgt.c b/app/iscsi_tgt/iscsi_tgt.c index fcf3cbccf..7ff3a5436 100644 --- a/app/iscsi_tgt/iscsi_tgt.c +++ b/app/iscsi_tgt/iscsi_tgt.c @@ -92,11 +92,7 @@ usage(char *executable_name) printf(" -n channel number of memory channels used for DPDK\n"); printf(" -p core master (primary) core for DPDK\n"); printf(" -s size memory size in MB for DPDK\n"); -#ifdef DEBUG - printf(" -t flag trace flag (all, net, iscsi, scsi, target, debug)\n"); -#else - printf(" -t flag trace flag (not supported - must rebuild with CONFIG_DEBUG=y)\n"); -#endif + spdk_tracelog_usage(stdout, "-t"); printf(" -v verbose (enable warnings)\n"); printf(" -H show this usage\n"); printf(" -V show version\n"); diff --git a/app/nvmf_tgt/nvmf_tgt.c b/app/nvmf_tgt/nvmf_tgt.c index ca9dc3e74..3131010f6 100644 --- a/app/nvmf_tgt/nvmf_tgt.c +++ b/app/nvmf_tgt/nvmf_tgt.c @@ -104,11 +104,8 @@ usage(void) printf(" -p core master (primary) core for DPDK\n"); printf(" -s size memory size in MB for DPDK\n"); -#ifdef DEBUG - printf(" -t flag - trace flag options (all, rdma, nvmf, debug)\n"); -#else - printf(" -t flag - trace flag options (not supported - must rebuild with CONFIG_DEBUG=y)\n"); -#endif + spdk_tracelog_usage(stdout, "-t"); + printf(" -v - verbose (enable warnings)\n"); printf(" -H - show this usage\n"); printf(" -d - disable coredump file enabling\n"); diff --git a/include/spdk/log.h b/include/spdk/log.h index 8b01b52d9..e3b05182c 100644 --- a/include/spdk/log.h +++ b/include/spdk/log.h @@ -111,4 +111,6 @@ const char *spdk_log_get_trace_flag_name(size_t idx); void spdk_open_log(void); void spdk_close_log(void); +void spdk_tracelog_usage(FILE *f, const char *trace_arg); + #endif /* SPDK_LOG_H */ diff --git a/lib/log/log.c b/lib/log/log.c index 02db58f35..e16e948ad 100644 --- a/lib/log/log.c +++ b/lib/log/log.c @@ -375,3 +375,22 @@ spdk_close_log(void) { closelog(); } + +void +spdk_tracelog_usage(FILE *f, const char *trace_arg) +{ +#ifdef DEBUG + size_t i; + + fprintf(f, " %s flag enable trace flag (all", trace_arg); + + for (i = 0; i < g_num_trace_flags; i++) { + fprintf(f, ", %s", g_trace_flags[i].name); + } + + fprintf(f, ")\n"); +#else + fprintf(f, " %s flag enable trace flag (not supported - must rebuild with CONFIG_DEBUG=y)\n", + trace_arg); +#endif +}