t/dedupe: avoid div-by-zero for all identical chunks
authorJens Axboe <axboe@fb.com>
Tue, 7 Oct 2014 03:07:25 +0000 (21:07 -0600)
committerJens Axboe <axboe@fb.com>
Tue, 7 Oct 2014 03:07:25 +0000 (21:07 -0600)
Signed-off-by: Jens Axboe <axboe@fb.com>
t/dedupe.c

index b3ab0f9..1577a69 100644 (file)
@@ -478,8 +478,12 @@ static void show_stat(uint64_t nextents, uint64_t nchunks)
        double perc, ratio;
 
        printf("Extents=%lu, Unique extents=%lu\n", (unsigned long) nextents, (unsigned long) nchunks);
-       ratio = (double) nextents / (double) nchunks;
-       printf("De-dupe ratio: 1:%3.2f\n", ratio - 1.0);
+
+       if (nchunks) {
+               ratio = (double) nextents / (double) nchunks;
+               printf("De-dupe ratio: 1:%3.2f\n", ratio - 1.0);
+       } else
+               printf("De-dupe ratio: 1:infinite\n");
 
        perc = 1.00 - ((double) nchunks / (double) nextents);
        perc *= 100.0;