summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/volumes.c
diff options
context:
space:
mode:
authorStefan Behrens2012-07-17 17:02:11 +0200
committerChris Mason2012-07-23 22:28:07 +0200
commita98cdb85b990765dbe80a215367ae007320bfeea (patch)
tree47588ab2c46fdaf9f782fadc0c636fc64eeff902 /fs/btrfs/volumes.c
parentBtrfs: remove unwanted printk() for btrfs device I/O stats (diff)
downloadkernel-qcow2-linux-a98cdb85b990765dbe80a215367ae007320bfeea.tar.gz
kernel-qcow2-linux-a98cdb85b990765dbe80a215367ae007320bfeea.tar.xz
kernel-qcow2-linux-a98cdb85b990765dbe80a215367ae007320bfeea.zip
Btrfs: suppress printk() if all device I/O stats are zero
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>
Diffstat (limited to 'fs/btrfs/volumes.c')
-rw-r--r--fs/btrfs/volumes.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 14436074350f..b8708f994e67 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -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),