[PATCH] btt: seek statistics fix
authorAlan D. Brunelle <Alan.Brunelle@hp.com>
Fri, 15 Sep 2006 00:02:08 +0000 (02:02 +0200)
committerJens Axboe <axboe@kernel.dk>
Fri, 15 Sep 2006 00:02:08 +0000 (02:02 +0200)
Fixed problem with seek statistics when disk has no data.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
btt/output.c

index 6973031696b58632fb4730ac5dd50d3894bd9dc3..969ccaed7c65dc3c6f4bf224f206e2d59ffb5a70 100644 (file)
@@ -293,16 +293,18 @@ void __output_dip_seek_info(FILE *ofp, struct d_info *dip)
        long long median, *modes;
 
        nseeks = seeki_nseeks(dip->seek_handle);
-       mean = seeki_mean(dip->seek_handle);
-       median = seeki_median(dip->seek_handle);
-       nmodes = seeki_mode(dip->seek_handle, &modes, &most_seeks);
-
-       fprintf(ofp, "%10s | %15lld %15.1lf %15lld | %lld(%d)",
-               make_dev_hdr(dev_info, 12, dip), nseeks, mean, median, 
-               nmodes > 0 ? modes[0] : 0, most_seeks);
-       for (i = 1; i < nmodes; i++)
-               fprintf(ofp, " %lld", modes[i]);
-       fprintf(ofp, "\n");
+       if (nseeks > 0) {
+               mean = seeki_mean(dip->seek_handle);
+               median = seeki_median(dip->seek_handle);
+               nmodes = seeki_mode(dip->seek_handle, &modes, &most_seeks);
+
+               fprintf(ofp, "%10s | %15lld %15.1lf %15lld | %lld(%d)",
+                       make_dev_hdr(dev_info, 12, dip), nseeks, mean, median, 
+                       nmodes > 0 ? modes[0] : 0, most_seeks);
+               for (i = 1; i < nmodes; i++)
+                       fprintf(ofp, " %lld", modes[i]);
+               fprintf(ofp, "\n");
+       }
 }
 
 void output_dip_seek_info(FILE *ofp)