Skip to content

Commit 85f1870

Browse files
committed
log: move logging definition to lib.h
The logging is attached to the global context and thus no low level API is needed outside of the library. Thus move it to lib.h. Signed-off-by: Daniel Wagner <[email protected]>
1 parent 8948e55 commit 85f1870

13 files changed

Lines changed: 44 additions & 78 deletions

File tree

libnvme/doc/meson.build

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ api_files = [
1313
'filters.h',
1414
'ioctl.h',
1515
'linux.h',
16-
'log.h',
1716
'mi.h',
1817
'nbft.h',
1918
'tree.h',

libnvme/libnvme/nvme.i

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ struct nvme_ns {
510510
else if (!strcmp(level, "crit")) log_level = LOG_CRIT;
511511
else if (!strcmp(level, "alert")) log_level = LOG_ALERT;
512512
else if (!strcmp(level, "emerg")) log_level = LOG_EMERG;
513-
nvme_init_logging($self, log_level, false, false);
513+
nvme_set_logging_level($self, log_level, false, false);
514514
}
515515
%pythoncode %{
516516
def hosts(self):

libnvme/src/libnvme-mi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
extern "C" {
1414
#endif
1515

16+
#include <nvme/lib.h>
1617
#include <nvme/types.h>
1718
#include <nvme/cmds.h>
1819
#include <nvme/mi.h>
19-
#include <nvme/log.h>
2020

2121
#ifdef __cplusplus
2222
}

libnvme/src/libnvme.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ extern "C" {
2121
#include <nvme/lib-types.h>
2222
#include <nvme/lib.h>
2323
#include <nvme/linux.h>
24-
#include <nvme/log.h>
2524
#include <nvme/nbft.h>
2625
#include <nvme/tree.h>
2726
#include <nvme/types.h>

libnvme/src/libnvme.ld

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ LIBNVME_2_0 {
8585
nvme_get_feature_length;
8686
nvme_get_host_telemetry;
8787
nvme_get_log;
88+
nvme_get_logging_level;
8889
nvme_get_logical_block_size;
8990
nvme_get_new_host_telemetry;
9091
nvme_get_ns_attr;
@@ -117,7 +118,6 @@ LIBNVME_2_0 {
117118
nvme_init_ctrl;
118119
nvme_init_ctrl_list;
119120
nvme_init_dsm_range;
120-
nvme_init_logging;
121121
nvme_insert_tls_key;
122122
nvme_insert_tls_key_compat;
123123
nvme_insert_tls_key_versioned;
@@ -230,6 +230,7 @@ LIBNVME_2_0 {
230230
nvme_set_etdas;
231231
nvme_set_ioctl_probing;
232232
nvme_set_keyring;
233+
nvme_set_logging_level;
233234
nvme_set_property;
234235
nvme_set_root;
235236
nvme_skip_namespaces;

libnvme/src/meson.build

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ install_headers(
105105
'nvme/lib-types.h',
106106
'nvme/lib.h',
107107
'nvme/linux.h',
108-
'nvme/log.h',
109108
'nvme/mi.h',
110109
'nvme/nbft.h',
111110
'nvme/tree.h',

libnvme/src/nvme/fabrics.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@
3535
#include <libnvme.h>
3636

3737
#include "cleanup.h"
38-
#include "log.h"
3938
#include "private.h"
40-
#include "util.h"
4139

4240
#define NVMF_HOSTID_SIZE 37
4341

@@ -2818,7 +2816,7 @@ static int nbft_connect(struct nvme_global_ctx *ctx,
28182816

28192817
/* Pause logging for unavailable SSNSs */
28202818
if (ss && ss->unavailable && saved_log_level < 1)
2821-
nvme_init_logging(ctx, -1, false, false);
2819+
nvme_set_logging_level(ctx, -1, false, false);
28222820

28232821
if (e) {
28242822
if (e->trtype == NVMF_TRTYPE_TCP &&
@@ -2830,7 +2828,7 @@ static int nbft_connect(struct nvme_global_ctx *ctx,
28302828

28312829
/* Resume logging */
28322830
if (ss && ss->unavailable && saved_log_level < 1)
2833-
nvme_init_logging(ctx,
2831+
nvme_set_logging_level(ctx,
28342832
saved_log_level,
28352833
saved_log_pid,
28362834
saved_log_tstamp);

libnvme/src/nvme/lib.h

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,17 @@
1010

1111
#include <stdio.h>
1212
#include <stdbool.h>
13+
#include <syslog.h>
1314

1415
#include <nvme/lib-types.h>
1516

17+
#ifndef MAX_LOGLEVEL
18+
# define MAX_LOGLEVEL LOG_DEBUG
19+
#endif
20+
#ifndef DEFAULT_LOGLEVEL
21+
# define DEFAULT_LOGLEVEL LOG_NOTICE
22+
#endif
23+
1624
/**
1725
* nvme_create_global_ctx() - Initialize global context object
1826
* @fp: File descriptor for logging messages
@@ -30,6 +38,33 @@ struct nvme_global_ctx *nvme_create_global_ctx(FILE *fp, int log_level);
3038
*/
3139
void nvme_free_global_ctx(struct nvme_global_ctx *ctx);
3240

41+
/**
42+
* nvme_set_logging_level() - Set current logging level
43+
* @ctx: struct nvme_global_ctx object
44+
* @log_level: Logging level to set
45+
* @log_pid: Boolean to enable logging of the PID
46+
* @log_tstamp: Boolean to enable logging of the timestamp
47+
*
48+
* Sets the current logging level for the global context.
49+
*/
50+
void nvme_set_logging_level(struct nvme_global_ctx *ctx, int log_level,
51+
bool log_pid, bool log_tstamp);
52+
53+
/**
54+
* nvme_get_logging_level() - Get current logging level
55+
* @ctx: struct nvme_global_ctx object
56+
* @log_pid: Pointer to store a current value of logging of
57+
* the PID flag at (optional).
58+
* @log_tstamp: Pointer to store a current value of logging of
59+
* the timestamp flag at (optional).
60+
*
61+
* Retrieves current values of logging variables.
62+
*
63+
* Return: current log level value or DEFAULT_LOGLEVEL if not initialized.
64+
*/
65+
int nvme_get_logging_level(struct nvme_global_ctx *ctx, bool *log_pid,
66+
bool *log_tstamp);
67+
3368
/**
3469
* nvme_open() - Open an nvme controller or namespace device
3570
* @ctx: struct nvme_global_ctx object

libnvme/src/nvme/log.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,10 @@ __nvme_msg(struct nvme_global_ctx *ctx, int level,
8484
message ? message : "<error>");
8585
}
8686

87-
void nvme_init_logging(struct nvme_global_ctx *ctx, int lvl,
87+
void nvme_set_logging_level(struct nvme_global_ctx *ctx, int log_level,
8888
bool log_pid, bool log_tstamp)
8989
{
90-
ctx->log.level = lvl;
90+
ctx->log.level = log_level;
9191
ctx->log.pid = log_pid;
9292
ctx->log.timestamp = log_tstamp;
9393
}

libnvme/src/nvme/log.h

Lines changed: 0 additions & 64 deletions
This file was deleted.

0 commit comments

Comments
 (0)