From: Daniel Wagner Date: Tue, 30 May 2023 11:44:06 +0000 (+0200) Subject: fabrics: Move printing functions to the print files X-Git-Tag: v2.5~64 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0576d84bf4aa76bcbf9e3fab0f0a87ada74503c2;p=users%2Fsagi%2Fnvme-cli.git fabrics: Move printing functions to the print files Move all printing functions to the corresponding print files. Signed-off-by: Daniel Wagner --- diff --git a/fabrics.c b/fabrics.c index 8004b4ae..f9549e85 100644 --- a/fabrics.c +++ b/fabrics.c @@ -286,49 +286,6 @@ static nvme_ctrl_t create_discover_ctrl(nvme_root_t r, nvme_host_t h, return __create_discover_ctrl(r, h, cfg, trcfg); } -static void print_discovery_log(struct nvmf_discovery_log *log, int numrec) -{ - int i; - - printf("\nDiscovery Log Number of Records %d, Generation counter %"PRIu64"\n", - numrec, le64_to_cpu(log->genctr)); - - for (i = 0; i < numrec; i++) { - struct nvmf_disc_log_entry *e = &log->entries[i]; - - printf("=====Discovery Log Entry %d======\n", i); - printf("trtype: %s\n", nvmf_trtype_str(e->trtype)); - printf("adrfam: %s\n", - strlen(e->traddr) ? - nvmf_adrfam_str(e->adrfam) : ""); - printf("subtype: %s\n", nvmf_subtype_str(e->subtype)); - printf("treq: %s\n", nvmf_treq_str(e->treq)); - printf("portid: %d\n", le16_to_cpu(e->portid)); - printf("trsvcid: %s\n", e->trsvcid); - printf("subnqn: %s\n", e->subnqn); - printf("traddr: %s\n", e->traddr); - printf("eflags: %s\n", - nvmf_eflags_str(le16_to_cpu(e->eflags))); - - switch (e->trtype) { - case NVMF_TRTYPE_RDMA: - printf("rdma_prtype: %s\n", - nvmf_prtype_str(e->tsas.rdma.prtype)); - printf("rdma_qptype: %s\n", - nvmf_qptype_str(e->tsas.rdma.qptype)); - printf("rdma_cms: %s\n", - nvmf_cms_str(e->tsas.rdma.cms)); - printf("rdma_pkey: 0x%04x\n", - le16_to_cpu(e->tsas.rdma.pkey)); - break; - case NVMF_TRTYPE_TCP: - printf("sectype: %s\n", - nvmf_sectype_str(e->tsas.tcp.sectype)); - break; - } - } -} - static void save_discovery_log(char *raw, struct nvmf_discovery_log *log) { uint64_t numrec = le64_to_cpu(log->numrec); @@ -352,11 +309,6 @@ static void save_discovery_log(char *raw, struct nvmf_discovery_log *log) close(fd); } -static void print_connect_msg(nvme_ctrl_t c) -{ - printf("device: %s\n", nvme_ctrl_get_name(c)); -} - static int __discover(nvme_ctrl_t c, struct nvme_fabrics_config *defcfg, char *raw, bool connect, bool persistent, enum nvme_print_flags flags) @@ -387,21 +339,7 @@ static int __discover(nvme_ctrl_t c, struct nvme_fabrics_config *defcfg, if (raw) save_discovery_log(raw, log); else if (!connect) { - switch (flags) { - case NORMAL: - print_discovery_log(log, numrec); - break; - case JSON: - json_discovery_log(log, numrec); - break; - case BINARY: - d_raw((unsigned char *)log, - sizeof(struct nvmf_discovery_log) + - numrec * sizeof(struct nvmf_disc_log_entry)); - break; - default: - break; - } + nvme_show_discovery_log(log, numrec, flags); } else if (connect) { int i; @@ -1039,10 +977,7 @@ int nvmf_connect(const char *desc, int argc, char **argv) nvme_strerror(errno)); else { errno = 0; - if (flags == NORMAL) - print_connect_msg(c); - else if (flags == JSON) - json_connect_msg(c); + nvme_show_connect_msg(c, flags); } out_free: diff --git a/nvme-print-json.c b/nvme-print-json.c index 48e4be71..03d59184 100644 --- a/nvme-print-json.c +++ b/nvme-print-json.c @@ -2743,8 +2743,8 @@ void json_simple_topology(nvme_root_t r) json_free_object(root); } -/* fabrics.c */ -void json_discovery_log(struct nvmf_discovery_log *log, int numrec) +void json_discovery_log(struct nvmf_discovery_log *log, int numrec, + enum nvme_print_flags flags) { struct json_object *root; struct json_object *entries; @@ -2798,7 +2798,7 @@ void json_discovery_log(struct nvmf_discovery_log *log, int numrec) json_free_object(root); } -void json_connect_msg(nvme_ctrl_t c) +void json_connect_msg(nvme_ctrl_t c, enum nvme_print_flags flags) { struct json_object *root; diff --git a/nvme-print-json.h b/nvme-print-json.h index f65653b1..84bbba83 100644 --- a/nvme-print-json.h +++ b/nvme-print-json.h @@ -85,8 +85,9 @@ void json_output_message(bool error, const char *msg, va_list ap); void json_output_perror(const char *msg); /* fabrics.c */ -void json_discovery_log(struct nvmf_discovery_log *log, int numrec); -void json_connect_msg(nvme_ctrl_t c); +void json_discovery_log(struct nvmf_discovery_log *log, int numrec, + enum nvme_print_flags flags); +void json_connect_msg(nvme_ctrl_t c, enum nvme_print_flags flags); #else /* !CONFIG_JSONC */ @@ -147,8 +148,8 @@ void json_connect_msg(nvme_ctrl_t c); #define json_output_perror(msg) /* fabrics.c */ -#define json_discovery_log(log, numrec) -#define json_connect_msg(c) +#define json_discovery_log(log, numrec, flags) +#define json_connect_msg(c, flags) #endif /* !CONFIG_JSONC */ diff --git a/nvme-print.c b/nvme-print.c index c58792e2..fd480433 100644 --- a/nvme-print.c +++ b/nvme-print.c @@ -5508,3 +5508,80 @@ void nvme_show_perror(const char *msg) perror(msg); } + +static void print_discovery_log(struct nvmf_discovery_log *log, int numrec, + enum nvme_print_flags flags) +{ + int i; + + printf("\nDiscovery Log Number of Records %d, Generation counter %"PRIu64"\n", + numrec, le64_to_cpu(log->genctr)); + + for (i = 0; i < numrec; i++) { + struct nvmf_disc_log_entry *e = &log->entries[i]; + + printf("=====Discovery Log Entry %d======\n", i); + printf("trtype: %s\n", nvmf_trtype_str(e->trtype)); + printf("adrfam: %s\n", + strlen(e->traddr) ? + nvmf_adrfam_str(e->adrfam) : ""); + printf("subtype: %s\n", nvmf_subtype_str(e->subtype)); + printf("treq: %s\n", nvmf_treq_str(e->treq)); + printf("portid: %d\n", le16_to_cpu(e->portid)); + printf("trsvcid: %s\n", e->trsvcid); + printf("subnqn: %s\n", e->subnqn); + printf("traddr: %s\n", e->traddr); + printf("eflags: %s\n", + nvmf_eflags_str(le16_to_cpu(e->eflags))); + + switch (e->trtype) { + case NVMF_TRTYPE_RDMA: + printf("rdma_prtype: %s\n", + nvmf_prtype_str(e->tsas.rdma.prtype)); + printf("rdma_qptype: %s\n", + nvmf_qptype_str(e->tsas.rdma.qptype)); + printf("rdma_cms: %s\n", + nvmf_cms_str(e->tsas.rdma.cms)); + printf("rdma_pkey: 0x%04x\n", + le16_to_cpu(e->tsas.rdma.pkey)); + break; + case NVMF_TRTYPE_TCP: + printf("sectype: %s\n", + nvmf_sectype_str(e->tsas.tcp.sectype)); + break; + } + } +} + +void nvme_show_discovery_log(struct nvmf_discovery_log *log, uint64_t numrec, + enum nvme_print_flags flags) +{ + if (flags & BINARY) { + d_raw((unsigned char *)log, + sizeof(struct nvmf_discovery_log) + + numrec * sizeof(struct nvmf_disc_log_entry)); + return; + } + + if (flags & JSON) { + json_discovery_log(log, numrec, flags); + return; + } + + print_discovery_log(log, numrec, flags); +} + +static void print_connect_msg(nvme_ctrl_t c, enum nvme_print_flags flags) +{ + printf("device: %s\n", nvme_ctrl_get_name(c)); +} + +void nvme_show_connect_msg(nvme_ctrl_t c, enum nvme_print_flags flags) +{ + if (flags & JSON) { + json_connect_msg(c, flags); + return; + } + + print_connect_msg(c, flags); +} diff --git a/nvme-print.h b/nvme-print.h index df9631f6..6ea40012 100644 --- a/nvme-print.h +++ b/nvme-print.h @@ -148,6 +148,10 @@ void nvme_show_fdp_usage(struct nvme_fdp_ruhu_log *log, size_t len, void nvme_show_fdp_ruh_status(struct nvme_fdp_ruh_status *status, size_t len, enum nvme_print_flags flags); +void nvme_show_discovery_log(struct nvmf_discovery_log *log, uint64_t numrec, + enum nvme_print_flags flags); +void nvme_show_connect_msg(nvme_ctrl_t c, enum nvme_print_flags flags); + const char *nvme_ana_state_to_string(enum nvme_ana_state state); const char *nvme_cmd_to_string(int admin, __u8 opcode); const char *nvme_fdp_event_to_string(enum nvme_fdp_event_type event);