Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions libnvme/src/nvme/lib.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@
#include <nvme/lib-types.h>

enum libnvme_log_level {
LIBNVME_LOG_ERR = 0,
LIBNVME_LOG_WARN = 1,
LIBNVME_LOG_INFO = 2,
LIBNVME_LOG_DEBUG = 3,
LIBNVME_LOG_ERR = 0,
LIBNVME_LOG_WARN = 1,
LIBNVME_LOG_INFO = 2,
LIBNVME_LOG_DEBUG = 3,
LIBNVME_LOG_VERBOSE = 4,
};

#define LIBNVME_DEFAULT_LOGLEVEL LIBNVME_LOG_WARN
Expand Down
29 changes: 26 additions & 3 deletions logging.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,21 @@ bool is_printable_at_level(int level)

int map_log_level(int verbose, bool quiet)
{
if (verbose == 0 || quiet)
if (quiet)
return LIBNVME_LOG_ERR;

if (verbose == 1)
switch (verbose) {
case 0:
return LIBNVME_LOG_ERR;
case 1:
return LIBNVME_LOG_INFO;
case 2:
return LIBNVME_LOG_DEBUG;
default:
break;
}

return LIBNVME_LOG_DEBUG;
return LIBNVME_LOG_VERBOSE;
}

static void nvme_show_common(struct libnvme_passthru_cmd *cmd)
Expand Down Expand Up @@ -77,6 +85,20 @@ static void nvme_show_latency(struct timeval start, struct timeval end)
(end.tv_usec - start.tv_usec)));
}

static void nvme_show_data(const char *data, uintptr_t addr, int len)
{
if (len) {
nvme_show_key_value(data, "%lu bytes", len);
d((unsigned char *)addr, len, 16, 1);
}
}

static void nvme_show_datum(struct libnvme_passthru_cmd *cmd)
{
nvme_show_data("data", (uintptr_t)cmd->addr, cmd->data_len);
nvme_show_data("metadata", (uintptr_t)cmd->metadata, cmd->metadata_len);
}

static void nvme_log_retry(int errnum)
{
if (log_level < LIBNVME_LOG_DEBUG)
Expand Down Expand Up @@ -105,6 +127,7 @@ void nvme_submit_exit(struct libnvme_transport_handle *hdl,
gettimeofday(&sb->end, NULL);
nvme_show_command(cmd, err);
nvme_show_latency(sb->start, sb->end);
nvme_show_datum(cmd);
}
}

Expand Down
2 changes: 1 addition & 1 deletion nvme-print-stdout.c
Original file line number Diff line number Diff line change
Expand Up @@ -5085,7 +5085,7 @@ static void stdout_lba_status_info(__u64 result)

static bool line_equal(unsigned char *buf, int len, int width, int offset)
{
if (!offset || len < offset + width || log_level >= LIBNVME_LOG_DEBUG)
if (!offset || len < offset + width || log_level >= LIBNVME_LOG_VERBOSE)
return false;

return !memcmp(buf + offset - width, buf + offset, width);
Expand Down
Loading