Btrfs: suppress printk() if all device I/O stats are zero
authorStefan Behrens <sbehrens@giantdisaster.de>
Tue, 17 Jul 2012 15:02:11 +0000 (09:02 -0600)
committerChris Mason <chris.mason@fusionio.com>
Mon, 23 Jul 2012 20:28:07 +0000 (16:28 -0400)
Code is added to suppress the I/O stats printing at mount time if all
statistic values are zero.

Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
fs/btrfs/volumes.c

index 14436074350f4505fa0c07d7179bbf9389485e07..b8708f994e679a559af68b90b3135b2b8fa2a9ac 100644 (file)
@@ -4884,6 +4884,14 @@ void btrfs_dev_stat_print_on_error(struct btrfs_device *dev)
 
 static void btrfs_dev_stat_print_on_load(struct btrfs_device *dev)
 {
+       int i;
+
+       for (i = 0; i < BTRFS_DEV_STAT_VALUES_MAX; i++)
+               if (btrfs_dev_stat_read(dev, i) != 0)
+                       break;
+       if (i == BTRFS_DEV_STAT_VALUES_MAX)
+               return; /* all values == 0, suppress message */
+
        printk_in_rcu(KERN_INFO "btrfs: bdev %s errs: wr %u, rd %u, flush %u, corrupt %u, gen %u\n",
               rcu_str_deref(dev->name),
               btrfs_dev_stat_read(dev, BTRFS_DEV_STAT_WRITE_ERRS),