diff options
| -rw-r--r-- | fs/btrfs/disk-io.c | 38 | ||||
| -rw-r--r-- | fs/btrfs/inode.c | 10 |
2 files changed, 31 insertions, 17 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 77f9a3b824be..aa0c259b9c28 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
| @@ -232,10 +232,14 @@ static int csum_tree_block(struct btrfs_root *root, struct extent_buffer *buf, | |||
| 232 | memcpy(&found, result, csum_size); | 232 | memcpy(&found, result, csum_size); |
| 233 | 233 | ||
| 234 | read_extent_buffer(buf, &val, 0, csum_size); | 234 | read_extent_buffer(buf, &val, 0, csum_size); |
| 235 | printk(KERN_INFO "btrfs: %s checksum verify failed " | 235 | if (printk_ratelimit()) { |
| 236 | "on %llu wanted %X found %X level %d\n", | 236 | printk(KERN_INFO "btrfs: %s checksum verify " |
| 237 | root->fs_info->sb->s_id, | 237 | "failed on %llu wanted %X found %X " |
| 238 | buf->start, val, found, btrfs_header_level(buf)); | 238 | "level %d\n", |
| 239 | root->fs_info->sb->s_id, | ||
| 240 | (unsigned long long)buf->start, val, found, | ||
| 241 | btrfs_header_level(buf)); | ||
| 242 | } | ||
| 239 | if (result != (char *)&inline_result) | 243 | if (result != (char *)&inline_result) |
| 240 | kfree(result); | 244 | kfree(result); |
| 241 | return 1; | 245 | return 1; |
| @@ -268,10 +272,13 @@ static int verify_parent_transid(struct extent_io_tree *io_tree, | |||
| 268 | ret = 0; | 272 | ret = 0; |
| 269 | goto out; | 273 | goto out; |
| 270 | } | 274 | } |
| 271 | printk("parent transid verify failed on %llu wanted %llu found %llu\n", | 275 | if (printk_ratelimit()) { |
| 272 | (unsigned long long)eb->start, | 276 | printk("parent transid verify failed on %llu wanted %llu " |
| 273 | (unsigned long long)parent_transid, | 277 | "found %llu\n", |
| 274 | (unsigned long long)btrfs_header_generation(eb)); | 278 | (unsigned long long)eb->start, |
| 279 | (unsigned long long)parent_transid, | ||
| 280 | (unsigned long long)btrfs_header_generation(eb)); | ||
| 281 | } | ||
| 275 | ret = 1; | 282 | ret = 1; |
| 276 | clear_extent_buffer_uptodate(io_tree, eb); | 283 | clear_extent_buffer_uptodate(io_tree, eb); |
| 277 | out: | 284 | out: |
| @@ -415,9 +422,12 @@ static int btree_readpage_end_io_hook(struct page *page, u64 start, u64 end, | |||
| 415 | 422 | ||
| 416 | found_start = btrfs_header_bytenr(eb); | 423 | found_start = btrfs_header_bytenr(eb); |
| 417 | if (found_start != start) { | 424 | if (found_start != start) { |
| 418 | printk(KERN_INFO "btrfs bad tree block start %llu %llu\n", | 425 | if (printk_ratelimit()) { |
| 419 | (unsigned long long)found_start, | 426 | printk(KERN_INFO "btrfs bad tree block start " |
| 420 | (unsigned long long)eb->start); | 427 | "%llu %llu\n", |
| 428 | (unsigned long long)found_start, | ||
| 429 | (unsigned long long)eb->start); | ||
| 430 | } | ||
| 421 | ret = -EIO; | 431 | ret = -EIO; |
| 422 | goto err; | 432 | goto err; |
| 423 | } | 433 | } |
| @@ -429,8 +439,10 @@ static int btree_readpage_end_io_hook(struct page *page, u64 start, u64 end, | |||
| 429 | goto err; | 439 | goto err; |
| 430 | } | 440 | } |
| 431 | if (check_tree_block_fsid(root, eb)) { | 441 | if (check_tree_block_fsid(root, eb)) { |
| 432 | printk(KERN_INFO "btrfs bad fsid on block %llu\n", | 442 | if (printk_ratelimit()) { |
| 433 | (unsigned long long)eb->start); | 443 | printk(KERN_INFO "btrfs bad fsid on block %llu\n", |
| 444 | (unsigned long long)eb->start); | ||
| 445 | } | ||
| 434 | ret = -EIO; | 446 | ret = -EIO; |
| 435 | goto err; | 447 | goto err; |
| 436 | } | 448 | } |
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 2fdb2995be64..552e08afc7fb 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c | |||
| @@ -1823,10 +1823,12 @@ good: | |||
| 1823 | return 0; | 1823 | return 0; |
| 1824 | 1824 | ||
| 1825 | zeroit: | 1825 | zeroit: |
| 1826 | printk(KERN_INFO "btrfs csum failed ino %lu off %llu csum %u " | 1826 | if (printk_ratelimit()) { |
| 1827 | "private %llu\n", page->mapping->host->i_ino, | 1827 | printk(KERN_INFO "btrfs csum failed ino %lu off %llu csum %u " |
| 1828 | (unsigned long long)start, csum, | 1828 | "private %llu\n", page->mapping->host->i_ino, |
| 1829 | (unsigned long long)private); | 1829 | (unsigned long long)start, csum, |
| 1830 | (unsigned long long)private); | ||
| 1831 | } | ||
| 1830 | memset(kaddr + offset, 1, end - start + 1); | 1832 | memset(kaddr + offset, 1, end - start + 1); |
| 1831 | flush_dcache_page(page); | 1833 | flush_dcache_page(page); |
| 1832 | kunmap_atomic(kaddr, KM_USER0); | 1834 | kunmap_atomic(kaddr, KM_USER0); |
