iowatcher: Fix divide by zero while calculating averages
authorChris Mason <chris.mason@fusionio.com>
Mon, 27 Aug 2012 22:27:59 +0000 (18:27 -0400)
committerChris Mason <chris.mason@oracle.com>
Mon, 27 Aug 2012 22:27:59 +0000 (18:27 -0400)
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
iowatcher/main.c

index f2945fa05f0e64fcc968d523b86e71da66eb964a..38f28bda4df571aac372fcbd7e28d23d7c0815f0 100644 (file)
@@ -669,9 +669,12 @@ static int __plot_cpu(struct plot *plot, int seconds, char *label,
                        struct graph_line_data *gld = tf->mpstat_gld[i * MPSTAT_GRAPHS + gld_index];
                        double this_avg = 0;
 
-                       for (gld_i = 0; gld_i < gld->stop_seconds; gld_i++)
-                               this_avg += gld->data[i].sum /
-                                       gld->data[i].count;;
+                       for (gld_i = 0; gld_i < gld->stop_seconds; gld_i++) {
+                               if (gld->data[i].count) {
+                                       this_avg += gld->data[i].sum /
+                                               gld->data[i].count;
+                               }
+                       }
 
                        this_avg /= gld->stop_seconds;