From 246cdd08e11e3d9e64aca4e31c2523922b290075 Mon Sep 17 00:00:00 2001 From: Jim Harris Date: Mon, 6 Nov 2017 10:23:34 -0700 Subject: [PATCH] iscsi, nvmf, vhost: break out common usage text to separate functions This prepares for moving all of the common usage text into a library that can be used by all applications using the app framework. Signed-off-by: Jim Harris Change-Id: I3dfc8beead6f40790eefc84b7767299f9d7b1bd4 Reviewed-on: https://review.gerrithub.io/385929 Reviewed-by: Ben Walker Reviewed-by: Daniel Verkamp Tested-by: SPDK Automated Test System --- app/iscsi_tgt/iscsi_tgt.c | 20 +++++++++++++------- app/nvmf_tgt/nvmf_main.c | 26 ++++++++++++++++---------- app/vhost/vhost.c | 33 +++++++++++++++++++-------------- 3 files changed, 48 insertions(+), 31 deletions(-) diff --git a/app/iscsi_tgt/iscsi_tgt.c b/app/iscsi_tgt/iscsi_tgt.c index 1387c2d63..b267e9140 100644 --- a/app/iscsi_tgt/iscsi_tgt.c +++ b/app/iscsi_tgt/iscsi_tgt.c @@ -57,15 +57,11 @@ spdk_sigusr1(int signo __attribute__((__unused__))) } static void -usage(char *executable_name) +common_usage(const char *executable_name, struct spdk_app_opts *default_opts) { - struct spdk_app_opts opts; - - spdk_app_opts_init(&opts); - printf("%s [options]\n", executable_name); printf("options:\n"); - printf(" -c config config file (default %s)\n", SPDK_ISCSI_DEFAULT_CONFIG); + printf(" -c config config file (default %s)\n", default_opts->config_file); printf(" -e mask tracepoint group mask for spdk trace buffers (default 0x0)\n"); printf(" -m mask core mask for DPDK\n"); printf(" -i shared memory ID (optional)\n"); @@ -74,11 +70,21 @@ usage(char *executable_name) printf(" -s size memory size in MB for DPDK\n"); spdk_tracelog_usage(stdout, "-t"); printf(" -H show this usage\n"); - printf(" -b run iscsi target background, the default is foreground\n"); printf(" -d disable coredump file enabling\n"); printf(" -q disable notice level logging to stderr\n"); } +static void +usage(char *executable_name) +{ + struct spdk_app_opts default_opts; + + spdk_app_opts_init(&default_opts); + default_opts.config_file = SPDK_ISCSI_DEFAULT_CONFIG; + common_usage(executable_name, &default_opts); + printf(" -b run iscsi target background, the default is foreground\n"); +} + static void spdk_startup(void *arg1, void *arg2) { diff --git a/app/nvmf_tgt/nvmf_main.c b/app/nvmf_tgt/nvmf_main.c index fb5719621..3c5003e9b 100644 --- a/app/nvmf_tgt/nvmf_main.c +++ b/app/nvmf_tgt/nvmf_main.c @@ -42,15 +42,11 @@ #define SPDK_NVMF_DEFAULT_CONFIG SPDK_NVMF_BUILD_ETC "/nvmf.conf" static void -usage(void) +common_usage(const char *executable_name, struct spdk_app_opts *default_opts) { - struct spdk_app_opts opts; - - spdk_app_opts_init(&opts); - - printf("nvmf [options]\n"); + printf("%s [options]\n", executable_name); printf("options:\n"); - printf(" -c config - config file (default %s)\n", SPDK_NVMF_DEFAULT_CONFIG); + printf(" -c config - config file (default %s)\n", default_opts->config_file); printf(" -e mask - tracepoint group mask for spdk trace buffers (default 0x0)\n"); printf(" -m mask - core mask for DPDK\n"); printf(" -i shared memory ID (optional)\n"); @@ -65,6 +61,16 @@ usage(void) printf(" -d - disable coredump file enabling\n"); } +static void +usage(const char *executable_name) +{ + struct spdk_app_opts default_opts; + + spdk_app_opts_init(&default_opts); + default_opts.config_file = SPDK_NVMF_DEFAULT_CONFIG; + common_usage(executable_name, &default_opts); +} + static void nvmf_parse_args(int argc, char **argv, struct spdk_app_opts *opts) { @@ -85,14 +91,14 @@ nvmf_parse_args(int argc, char **argv, struct spdk_app_opts *opts) rc = spdk_log_set_trace_flag(optarg); if (rc < 0) { fprintf(stderr, "unknown flag\n"); - usage(); + usage(argv[0]); exit(EXIT_FAILURE); } opts->print_level = SPDK_LOG_DEBUG; #ifndef DEBUG fprintf(stderr, "%s must be rebuilt with CONFIG_DEBUG=y for -t flag.\n", argv[0]); - usage(); + usage(argv[0]); exit(EXIT_FAILURE); #endif break; @@ -117,7 +123,7 @@ nvmf_parse_args(int argc, char **argv, struct spdk_app_opts *opts) case 'D': case 'H': default: - usage(); + usage(argv[0]); exit(EXIT_SUCCESS); } } diff --git a/app/vhost/vhost.c b/app/vhost/vhost.c index dfbd197bf..484b8f058 100644 --- a/app/vhost/vhost.c +++ b/app/vhost/vhost.c @@ -58,28 +58,33 @@ vhost_app_opts_init(struct spdk_app_opts *opts) opts->mem_size = SPDK_VHOST_DEFAULT_MEM_SIZE; } +static void +common_usage(char *executable_name, struct spdk_app_opts *default_opts) +{ + printf("%s [options]\n", executable_name); + printf("options:\n"); + printf(" -c config config file (default: %s)\n", default_opts->config_file); + printf(" -e mask tracepoint group mask for spdk trace buffers (default: 0x0)\n"); + printf(" -i shm_id shared memory ID (optional)\n"); + printf(" -m mask reactor core mask (default: 0x1)\n"); + printf(" -N pass --no-pci to DPDK\n"); + printf(" -p core master (primary) core for DPDK\n"); + printf(" -s size memory size in MB for DPDK (default: %dMB)\n", default_opts->mem_size); + spdk_tracelog_usage(stdout, "-t"); + printf(" -h show this usage\n"); + printf(" -d disable coredump file enabling\n"); + printf(" -q disable notice level logging to stderr\n"); +} + static void usage(char *executable_name) { struct spdk_app_opts defaults; vhost_app_opts_init(&defaults); - - printf("%s [options]\n", executable_name); - printf("options:\n"); - printf(" -c config config file (default: %s)\n", defaults.config_file); - printf(" -e mask tracepoint group mask for spdk trace buffers (default: 0x0)\n"); + common_usage(executable_name, &defaults); printf(" -f pidfile save pid to file under given path\n"); - printf(" -i shm_id shared memory ID (optional)\n"); - printf(" -m mask reactor core mask (default: 0x1)\n"); - printf(" -N pass --no-pci to DPDK\n"); - printf(" -p core master (primary) core for DPDK\n"); - printf(" -s size memory size in MB for DPDK (default: %dMB)\n", defaults.mem_size); printf(" -S dir directory where to create vhost sockets (default: pwd)\n"); - spdk_tracelog_usage(stdout, "-t"); - printf(" -h show this usage\n"); - printf(" -d disable coredump file enabling\n"); - printf(" -q disable notice level logging to stderr\n"); } static void