]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
logging: track log level globally
authorDaniel Wagner <dwagner@suse.de>
Wed, 6 Mar 2024 08:15:13 +0000 (09:15 +0100)
committerDaniel Wagner <wagi@monom.org>
Thu, 7 Mar 2024 07:10:30 +0000 (08:10 +0100)
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 <dwagner@suse.de>
fabrics.c
nvme.c
util/logging.c
util/logging.h

index d94b704f6de40beea8a63d51f046c794fdf9b076..6273c7814ea38d024cd999b4b120fe82797e6738 100644 (file)
--- 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 a874df0d4dbdfbf5a868dab87ba5d67f14636270..b77b22546151db9e807fae2f46f779f9cafb27eb 100644 (file)
--- 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;
index f93be8b3e689036a9fd94c76e08db23e31623faf..9316d3e18b8965f726c307cf16eac73642069183 100644 (file)
@@ -2,6 +2,8 @@
 
 #include "logging.h"
 
+int log_level;
+
 int map_log_level(int verbose, bool quiet)
 {
        int log_level;
index b08b3bef97022e4c5775d2594209adf90974f0e0..7b1814cb78c4b54dc5790104045a7a8bdb9ff766 100644 (file)
@@ -5,6 +5,8 @@
 
 #include <stdbool.h>
 
+extern int log_level;
+
 int map_log_level(int verbose, bool quiet);
 
 #endif // DEBUG_H_