]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
There is one problem with these printf because they are architecture dependent.
authorBreno Leitao <breno.leitao@gmail.com>
Mon, 11 Jul 2016 18:23:03 +0000 (14:23 -0400)
committerBreno Leitao <breno.leitao@gmail.com>
Mon, 11 Jul 2016 18:23:03 +0000 (14:23 -0400)
This code fails to compile on a ppc64le architecture due to the
following errors:

     format ‘%lld’ expects argument of type ‘long long int’, but
argument 3 has type ‘__le64 {aka long unsigned int}’

    This patch just uses PRIu64 to print 64 uint64_t types.

fabrics.c
intel-nvme.c

index 869592c86464a366c071ead56f005d75f6b0611d..ec3179f112e6f637e8590bbdfa040d4e8ba04eff 100644 (file)
--- a/fabrics.c
+++ b/fabrics.c
@@ -27,6 +27,8 @@
 #include <stdint.h>
 #include <unistd.h>
 #include <sys/ioctl.h>
+#include <asm/byteorder.h>
+#include <inttypes.h>
 #ifdef LIBUDEV_EXISTS
 #include <libudev.h>
 #endif
@@ -266,8 +268,8 @@ static void print_discovery_log(struct nvmf_disc_rsp_page_hdr *log, int numrec)
 {
        int i;
 
-       printf("Discovery Log Number of Records %d, Generation counter %lld\n",
-               numrec, log->genctr);
+       printf("Discovery Log Number of Records %d, Generation counter %"PRIu64"\n",
+               numrec, __le64_to_cpu(log->genctr));
 
        for (i = 0; i < numrec; i++) {
                struct nvmf_disc_rsp_page_entry *e = &log->entries[i];
index 67c85b7644d157ab8a95b9f3845ccdb631748888..241b26cdae6c762f24cbfd8513d44a245ed062e6 100644 (file)
@@ -4,6 +4,8 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <linux/fs.h>
+#include <inttypes.h>
+#include <asm/byteorder.h>
 
 #include "linux/nvme_ioctl.h"
 
@@ -127,14 +129,14 @@ static void show_temp_stats(struct intel_temp_stats *stats)
 {
        printf("  Intel Temperature Statistics\n");
        printf("--------------------------------\n");
-       printf("Current temperature         : %llu\n", stats->curr);
-       printf("Last critical overtemp flag : %llu\n", stats->last_overtemp);
-       printf("Life critical overtemp flag : %llu\n", stats->life_overtemp);
-       printf("Highest temperature         : %llu\n", stats->highest_temp);
-       printf("Lowest temperature          : %llu\n", stats->lowest_temp);
-       printf("Max operating temperature   : %llu\n", stats->max_operating_temp);
-       printf("Min operating temperature   : %llu\n", stats->min_operating_temp);
-       printf("Estimated offset            : %llu\n", stats->est_offset);
+       printf("Current temperature         : %"PRIu64"\n", __le64_to_cpu(stats->curr));
+       printf("Last critical overtemp flag : %"PRIu64"\n", __le64_to_cpu(stats->last_overtemp));
+       printf("Life critical overtemp flag : %"PRIu64"\n", __le64_to_cpu(stats->life_overtemp));
+       printf("Highest temperature         : %"PRIu64"\n", __le64_to_cpu(stats->highest_temp));
+       printf("Lowest temperature          : %"PRIu64"\n", __le64_to_cpu(stats->lowest_temp));
+       printf("Max operating temperature   : %"PRIu64"\n", __le64_to_cpu(stats->max_operating_temp));
+       printf("Min operating temperature   : %"PRIu64"\n", __le64_to_cpu(stats->min_operating_temp));
+       printf("Estimated offset            : %"PRIu64"\n", __le64_to_cpu(stats->est_offset));
 }
 
 static int get_temp_stats_log(int argc, char **argv, struct command *cmd, struct plugin *plugin)