Skip to content

Commit

Permalink
Btrfs: ratelimit the generation printk for the free space cache
Browse files Browse the repository at this point in the history
A user reported getting spammed when moving to 3.0 by this message.  Since we
switched to the normal checksumming infrastructure all old free space caches
will be wrong and need to be regenerated so people are likely to see this
message a lot, so ratelimit it so it doesn't fill up their logs and freak them
out.  Thanks,

Reported-by: Andrew Lutomirski <luto@mit.edu>
Signed-off-by: Josef Bacik <josef@redhat.com>
  • Loading branch information
Josef Bacik committed Oct 19, 2011
1 parent 4289a66 commit 6ab6060
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions fs/btrfs/free-space-cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/math64.h>
#include <linux/ratelimit.h>
#include "ctree.h"
#include "free-space-cache.h"
#include "transaction.h"
Expand Down Expand Up @@ -341,11 +342,12 @@ int __load_free_space_cache(struct btrfs_root *root, struct inode *inode,

gen = addr;
if (*gen != BTRFS_I(inode)->generation) {
printk(KERN_ERR "btrfs: space cache generation"
" (%llu) does not match inode (%llu)\n",
(unsigned long long)*gen,
(unsigned long long)
BTRFS_I(inode)->generation);
printk_ratelimited(KERN_ERR "btrfs: space cache"
" generation (%llu) does not match "
"inode (%llu)\n",
(unsigned long long)*gen,
(unsigned long long)
BTRFS_I(inode)->generation);
kunmap(page);
unlock_page(page);
page_cache_release(page);
Expand Down

0 comments on commit 6ab6060

Please sign in to comment.