]> www.infradead.org Git - users/sagi/libnvme.git/commitdiff
log: Introduce nvme_get_logging_level()
authorTomas Bzatek <tbzatek@redhat.com>
Wed, 14 Feb 2024 16:25:01 +0000 (11:25 -0500)
committerDaniel Wagner <wagi@monom.org>
Wed, 6 Mar 2024 09:56:14 +0000 (10:56 +0100)
This is essentially a getter for nvme_init_logging() since
nvme_root_t is an opaque struct. Takes optional pointer
to bool args to retrieve PID and timestamp logging values.

Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
src/libnvme.map
src/nvme/log.c
src/nvme/log.h

index e8bd9f10780f2d3e77bb6a47837890ba39001cda..254e8b06330a9196622cade886fa5a9e6eb3bb8c 100644 (file)
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 LIBNVME_1.9 {
        global:
+               nvme_get_logging_level;
                nvme_submit_passthru;
                nvme_submit_passthru64;
 };
index 5a18bb97c4b9cd0687ced58497dd7ea2eca62190..8df411cd95820426ddd8d7bb1b64e8eed698536d 100644 (file)
@@ -99,6 +99,19 @@ void nvme_init_logging(nvme_root_t r, int lvl, bool log_pid, bool log_tstamp)
        r->log_timestamp = log_tstamp;
 }
 
+int nvme_get_logging_level(nvme_root_t r, bool *log_pid, bool *log_tstamp)
+{
+       if (!r)
+               r = root;
+       if (!r)
+               return DEFAULT_LOGLEVEL;
+       if (log_pid)
+               *log_pid = r->log_pid;
+       if (log_tstamp)
+               *log_tstamp = r->log_timestamp;
+       return r->log_level;
+}
+
 void nvme_set_root(nvme_root_t r)
 {
        root = r;
index 829b76abc59f7c32ba4945995388f2b06a9b55f1..cd243ea9f4a79117a7cd78d376c1cf1b6f9423dd 100644 (file)
  */
 void nvme_init_logging(nvme_root_t r, int lvl, bool log_pid, bool log_tstamp);
 
+/**
+ * nvme_get_logging_level() - Get current logging level
+ * @r:         nvme_root_t context
+ * @log_pid:   Pointer to store a current value of logging of
+ *             the PID flag at (optional).
+ * @log_tstamp:        Pointer to store a current value of logging of
+ *             the timestamp flag at (optional).
+ *
+ * Retrieves current values of logging variables.
+ *
+ * Return: current log level value or DEFAULT_LOGLEVEL if not initialized.
+ */
+int nvme_get_logging_level(nvme_root_t r, bool *log_pid, bool *log_tstamp);
+
 /**
  * nvme_set_root() - Set nvme_root_t context
  * @r:         nvme_root_t context