summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2009-04-27 07:29:05 -0400
committerChris Mason <chris.mason@oracle.com>2009-04-27 07:41:47 -0400
commit193f284d4985db0370a8a1bbdfb20df548cf9ffb (patch)
treedfa8aec1c8000e5e00deb4eee4dc385a405d74a6 /fs/btrfs/inode.c
parentb7967db75a38df4891b22efe1b0969b9357eb946 (diff)
downloadop-kernel-dev-193f284d4985db0370a8a1bbdfb20df548cf9ffb.zip
op-kernel-dev-193f284d4985db0370a8a1bbdfb20df548cf9ffb.tar.gz
Btrfs: ratelimit IO error printks
Btrfs has printks for various IO errors, including bad checksums and mismatches between what we expect the block headers to contain and what we actually find on the disk. Longer term we need a real reporting mechanism for this, but for now printk is going to have to do. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 2fdb299..552e08a 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1823,10 +1823,12 @@ good:
return 0;
zeroit:
- printk(KERN_INFO "btrfs csum failed ino %lu off %llu csum %u "
- "private %llu\n", page->mapping->host->i_ino,
- (unsigned long long)start, csum,
- (unsigned long long)private);
+ if (printk_ratelimit()) {
+ printk(KERN_INFO "btrfs csum failed ino %lu off %llu csum %u "
+ "private %llu\n", page->mapping->host->i_ino,
+ (unsigned long long)start, csum,
+ (unsigned long long)private);
+ }
memset(kaddr + offset, 1, end - start + 1);
flush_dcache_page(page);
kunmap_atomic(kaddr, KM_USER0);
OpenPOWER on IntegriCloud