OSDN Git Service

btrfs: switch message printers to ratelimited variants
authorDavid Sterba <dsterba@suse.com>
Thu, 8 Oct 2015 09:01:36 +0000 (11:01 +0200)
committerDavid Sterba <dsterba@suse.com>
Thu, 8 Oct 2015 11:04:06 +0000 (13:04 +0200)
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/disk-io.c
fs/btrfs/extent-tree.c
fs/btrfs/extent_io.c
fs/btrfs/free-space-cache.c
fs/btrfs/inode.c
fs/btrfs/scrub.c

index ba41faf..72553cd 100644 (file)
@@ -319,9 +319,9 @@ static int csum_tree_block(struct btrfs_fs_info *fs_info,
                        memcpy(&found, result, csum_size);
 
                        read_extent_buffer(buf, &val, 0, csum_size);
-                       printk_ratelimited(KERN_WARNING
-                               "BTRFS: %s checksum verify failed on %llu wanted %X found %X "
-                               "level %d\n",
+                       btrfs_warn_rl(fs_info,
+                               "%s checksum verify failed on %llu wanted %X found %X "
+                               "level %d",
                                fs_info->sb->s_id, buf->start,
                                val, found, btrfs_header_level(buf));
                        if (result != (char *)&inline_result)
@@ -368,9 +368,9 @@ static int verify_parent_transid(struct extent_io_tree *io_tree,
                ret = 0;
                goto out;
        }
-       printk_ratelimited(KERN_ERR
-           "BTRFS (device %s): parent transid verify failed on %llu wanted %llu found %llu\n",
-                       eb->fs_info->sb->s_id, eb->start,
+       btrfs_err_rl(eb->fs_info,
+               "parent transid verify failed on %llu wanted %llu found %llu",
+                       eb->start,
                        parent_transid, btrfs_header_generation(eb));
        ret = 1;
 
@@ -629,15 +629,14 @@ static int btree_readpage_end_io_hook(struct btrfs_io_bio *io_bio,
 
        found_start = btrfs_header_bytenr(eb);
        if (found_start != eb->start) {
-               printk_ratelimited(KERN_ERR "BTRFS (device %s): bad tree block start "
-                              "%llu %llu\n",
-                              eb->fs_info->sb->s_id, found_start, eb->start);
+               btrfs_err_rl(eb->fs_info, "bad tree block start %llu %llu",
+                              found_start, eb->start);
                ret = -EIO;
                goto err;
        }
        if (check_tree_block_fsid(root->fs_info, eb)) {
-               printk_ratelimited(KERN_ERR "BTRFS (device %s): bad fsid on block %llu\n",
-                              eb->fs_info->sb->s_id, eb->start);
+               btrfs_err_rl(eb->fs_info, "bad fsid on block %llu",
+                              eb->start);
                ret = -EIO;
                goto err;
        }
index 9f96042..913a583 100644 (file)
@@ -8271,10 +8271,11 @@ skip:
                        ret = account_shared_subtree(trans, root, next,
                                                     generation, level - 1);
                        if (ret) {
-                               printk_ratelimited(KERN_ERR "BTRFS: %s Error "
+                               btrfs_err_rl(root->fs_info,
+                                       "Error "
                                        "%d accounting shared subtree. Quota "
-                                       "is out of sync, rescan required.\n",
-                                       root->fs_info->sb->s_id, ret);
+                                       "is out of sync, rescan required.",
+                                       ret);
                        }
                }
                ret = btrfs_free_extent(trans, root, bytenr, blocksize, parent,
@@ -8363,10 +8364,11 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
                        BUG_ON(ret); /* -ENOMEM */
                        ret = account_leaf_items(trans, root, eb);
                        if (ret) {
-                               printk_ratelimited(KERN_ERR "BTRFS: %s Error "
+                               btrfs_err_rl(root->fs_info,
+                                       "error "
                                        "%d accounting leaf items. Quota "
-                                       "is out of sync, rescan required.\n",
-                                       root->fs_info->sb->s_id, ret);
+                                       "is out of sync, rescan required.",
+                                       ret);
                        }
                }
                /* make block locked assertion in clean_tree_block happy */
index 58b9ccd..bb318b4 100644 (file)
@@ -96,8 +96,8 @@ static inline void __btrfs_debug_check_extent_io_range(const char *caller,
        inode = tree->mapping->host;
        isize = i_size_read(inode);
        if (end >= PAGE_SIZE && (end % 2) == 0 && end != isize - 1) {
-               printk_ratelimited(KERN_DEBUG
-                   "BTRFS: %s: ino %llu isize %llu odd range [%llu,%llu]\n",
+               btrfs_debug_rl(BTRFS_I(inode)->root->fs_info,
+                   "%s: ino %llu isize %llu odd range [%llu,%llu]",
                                caller, btrfs_ino(inode), isize, start, end);
        }
 }
index abe3a66..afc1072 100644 (file)
@@ -450,9 +450,9 @@ static int io_ctl_check_generation(struct btrfs_io_ctl *io_ctl, u64 generation)
 
        gen = io_ctl->cur;
        if (le64_to_cpu(*gen) != generation) {
-               printk_ratelimited(KERN_ERR "BTRFS: space cache generation "
-                                  "(%Lu) does not match inode (%Lu)\n", *gen,
-                                  generation);
+               btrfs_err_rl(io_ctl->root->fs_info,
+                       "space cache generation (%llu) does not match inode (%llu)",
+                               *gen, generation);
                io_ctl_unmap_page(io_ctl);
                return -EIO;
        }
@@ -506,8 +506,8 @@ static int io_ctl_check_crc(struct btrfs_io_ctl *io_ctl, int index)
                              PAGE_CACHE_SIZE - offset);
        btrfs_csum_final(crc, (char *)&crc);
        if (val != crc) {
-               printk_ratelimited(KERN_ERR "BTRFS: csum mismatch on free "
-                                  "space cache\n");
+               btrfs_err_rl(io_ctl->root->fs_info,
+                       "csum mismatch on free space cache");
                io_ctl_unmap_page(io_ctl);
                return -EIO;
        }
index 611b66d..25eb814 100644 (file)
@@ -3018,8 +3018,6 @@ static int __readpage_endio_check(struct inode *inode,
        char *kaddr;
        u32 csum_expected;
        u32 csum = ~(u32)0;
-       static DEFINE_RATELIMIT_STATE(_rs, DEFAULT_RATELIMIT_INTERVAL,
-                                     DEFAULT_RATELIMIT_BURST);
 
        csum_expected = *(((u32 *)io_bio->csum) + icsum);
 
@@ -3032,9 +3030,8 @@ static int __readpage_endio_check(struct inode *inode,
        kunmap_atomic(kaddr);
        return 0;
 zeroit:
-       if (__ratelimit(&_rs))
-               btrfs_warn(BTRFS_I(inode)->root->fs_info,
-                          "csum failed ino %llu off %llu csum %u expected csum %u",
+       btrfs_warn_rl(BTRFS_I(inode)->root->fs_info,
+               "csum failed ino %llu off %llu csum %u expected csum %u",
                           btrfs_ino(inode), start, csum, csum_expected);
        memset(kaddr + pgoff, 1, len);
        flush_dcache_page(page);
index bce86f8..550de89 100644 (file)
@@ -1626,9 +1626,9 @@ static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad,
                int ret;
 
                if (!page_bad->dev->bdev) {
-                       printk_ratelimited(KERN_WARNING "BTRFS: "
+                       btrfs_warn_rl(sblock_bad->sctx->dev_root->fs_info,
                                "scrub_repair_page_from_good_copy(bdev == NULL) "
-                               "is unexpected!\n");
+                               "is unexpected");
                        return -EIO;
                }
 
@@ -4375,8 +4375,8 @@ static int write_page_nocow(struct scrub_ctx *sctx,
        if (!dev)
                return -EIO;
        if (!dev->bdev) {
-               printk_ratelimited(KERN_WARNING
-                       "BTRFS: scrub write_page_nocow(bdev == NULL) is unexpected!\n");
+               btrfs_warn_rl(dev->dev_root->fs_info,
+                       "scrub write_page_nocow(bdev == NULL) is unexpected");
                return -EIO;
        }
        bio = btrfs_io_bio_alloc(GFP_NOFS, 1);