]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
get-telemtry-log: Print nvme status in case err > 0
authorMinwoo Im <minwoo.im.dev@gmail.com>
Thu, 25 Apr 2019 13:53:01 +0000 (22:53 +0900)
committerMinwoo Im <minwoo.im.dev@gmail.com>
Thu, 25 Apr 2019 13:53:01 +0000 (22:53 +0900)
If given 'err' is negative, then it's an internal error so that it needs
to be with perror().  If it's positive, then we can print nvme status
out.

Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
nvme.c

diff --git a/nvme.c b/nvme.c
index b15d9abab0a71e628a0653ae9eac92463c2a7a4d..b40869519c60f28ac8862b0dc0e2204291d2be96 100644 (file)
--- a/nvme.c
+++ b/nvme.c
@@ -360,7 +360,9 @@ static int get_telemetry_log(int argc, char **argv, struct command *cmd, struct
        }
 
        err = nvme_get_telemetry_log(fd, hdr, cfg.host_gen, cfg.ctrl_init, bs, 0);
-       if (err) {
+       if (err < 0)
+               perror("get-telemetry-log");
+       else if (err > 0) {
                show_nvme_status(err);
                fprintf(stderr, "Failed to acquire telemetry header %d!\n", err);
                goto close_output;
@@ -394,7 +396,10 @@ static int get_telemetry_log(int argc, char **argv, struct command *cmd, struct
         */
        while (offset != full_size) {
                err = nvme_get_telemetry_log(fd, page_log, 0, cfg.ctrl_init, bs, offset);
-               if (err) {
+               if (err < 0) {
+                       perror("get-telemetry-log");
+                       break;
+               } else if (err > 0) {
                        fprintf(stderr, "Failed to acquire full telemetry log!\n");
                        show_nvme_status(err);
                        break;