From: Daniel Wagner Date: Wed, 6 Mar 2024 08:15:13 +0000 (+0100) Subject: logging: track log level globally X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=a50c569bfc9375b3aee2e8ff42324319d42a26e9;p=users%2Fsagi%2Fnvme-cli.git logging: track log level globally Preparation patch to enable verbose/debug logging in parts where we don't have the nvme_root_t object introduce a global logging level variable. Signed-off-by: Daniel Wagner --- diff --git a/fabrics.c b/fabrics.c index d94b704f..6273c781 100644 --- a/fabrics.c +++ b/fabrics.c @@ -716,7 +716,9 @@ int nvmf_discover(const char *desc, int argc, char **argv, bool connect) if (!strcmp(config_file, "none")) config_file = NULL; - r = nvme_create_root(stderr, map_log_level(verbose, quiet)); + log_level = map_log_level(verbose, quiet); + + r = nvme_create_root(stderr, log_level); if (!r) { fprintf(stderr, "Failed to create topology root: %s\n", nvme_strerror(errno)); @@ -944,7 +946,9 @@ int nvmf_connect(const char *desc, int argc, char **argv) if (!strcmp(config_file, "none")) config_file = NULL; - r = nvme_create_root(stderr, map_log_level(verbose, quiet)); + log_level = map_log_level(verbose, quiet); + + r = nvme_create_root(stderr, log_level); if (!r) { fprintf(stderr, "Failed to create topology root: %s\n", nvme_strerror(errno)); @@ -1104,7 +1108,9 @@ int nvmf_disconnect(const char *desc, int argc, char **argv) return -EINVAL; } - r = nvme_create_root(stderr, map_log_level(cfg.verbose, false)); + log_level = map_log_level(cfg.verbose, false); + + r = nvme_create_root(stderr, log_level); if (!r) { fprintf(stderr, "Failed to create topology root: %s\n", nvme_strerror(errno)); @@ -1172,7 +1178,9 @@ int nvmf_disconnect_all(const char *desc, int argc, char **argv) if (ret) return ret; - r = nvme_create_root(stderr, map_log_level(cfg.verbose, false)); + log_level = map_log_level(cfg.verbose, false); + + r = nvme_create_root(stderr, log_level); if (!r) { fprintf(stderr, "Failed to create topology root: %s\n", nvme_strerror(errno)); @@ -1240,7 +1248,9 @@ int nvmf_config(const char *desc, int argc, char **argv) if (!strcmp(config_file, "none")) config_file = NULL; - r = nvme_create_root(stderr, map_log_level(verbose, quiet)); + log_level = map_log_level(verbose, quiet); + + r = nvme_create_root(stderr, log_level); if (!r) { fprintf(stderr, "Failed to create topology root: %s\n", nvme_strerror(errno)); @@ -1392,7 +1402,9 @@ int nvmf_dim(const char *desc, int argc, char **argv) return -EINVAL; } - r = nvme_create_root(stderr, map_log_level(cfg.verbose, false)); + log_level = map_log_level(cfg.verbose, false); + + r = nvme_create_root(stderr, log_level); if (!r) { fprintf(stderr, "Failed to create topology root: %s\n", nvme_strerror(errno)); diff --git a/nvme.c b/nvme.c index a874df0d..b77b2254 100644 --- a/nvme.c +++ b/nvme.c @@ -3223,7 +3223,9 @@ static int list_subsys(int argc, char **argv, struct command *cmd, if (argconfig_parse_seen(opts, "verbose")) flags |= VERBOSE; - r = nvme_create_root(stderr, map_log_level(!!(flags & VERBOSE), false)); + log_level = map_log_level(!!(flags & VERBOSE), false); + + r = nvme_create_root(stderr, log_level); if (!r) { if (devname) nvme_show_error("Failed to scan nvme subsystem for %s", devname); @@ -3280,7 +3282,9 @@ static int list(int argc, char **argv, struct command *cmd, struct plugin *plugi if (argconfig_parse_seen(opts, "verbose")) flags |= VERBOSE; - r = nvme_create_root(stderr, map_log_level(!!(flags & VERBOSE), false)); + log_level = map_log_level(!!(flags & VERBOSE), false); + + r = nvme_create_root(stderr, log_level); if (!r) { nvme_show_error("Failed to create topology root: %s", nvme_strerror(errno)); return -errno; @@ -5272,7 +5276,7 @@ static void *mmap_registers(nvme_root_t r, struct nvme_dev *dev) fd = open(path, O_RDONLY); if (fd < 0) { - if (map_log_level(0, false) >= LOG_DEBUG) + if (log_level >= LOG_DEBUG) nvme_show_error("%s did not find a pci resource, open failed %s", dev->name, strerror(errno)); return NULL; @@ -5280,7 +5284,7 @@ static void *mmap_registers(nvme_root_t r, struct nvme_dev *dev) membase = mmap(NULL, getpagesize(), PROT_READ, MAP_SHARED, fd, 0); if (membase == MAP_FAILED) { - if (map_log_level(0, false) >= LOG_DEBUG) { + if (log_level >= LOG_DEBUG) { fprintf(stderr, "%s failed to map. ", dev->name); fprintf(stderr, "Did your kernel enable CONFIG_IO_STRICT_DEVMEM?\n"); } @@ -8861,7 +8865,9 @@ static int show_topology_cmd(int argc, char **argv, struct command *command, str return -EINVAL; } - r = nvme_create_root(stderr, map_log_level(!!(flags & VERBOSE), false)); + log_level = map_log_level(!!(flags & VERBOSE), false); + + r = nvme_create_root(stderr, log_level); if (!r) { nvme_show_error("Failed to create topology root: %s", nvme_strerror(errno)); return -errno; diff --git a/util/logging.c b/util/logging.c index f93be8b3..9316d3e1 100644 --- a/util/logging.c +++ b/util/logging.c @@ -2,6 +2,8 @@ #include "logging.h" +int log_level; + int map_log_level(int verbose, bool quiet) { int log_level; diff --git a/util/logging.h b/util/logging.h index b08b3bef..7b1814cb 100644 --- a/util/logging.h +++ b/util/logging.h @@ -5,6 +5,8 @@ #include +extern int log_level; + int map_log_level(int verbose, bool quiet); #endif // DEBUG_H_