diff options
| author | Theodore Ts'o <tytso@mit.edu> | 2010-12-17 10:44:16 -0500 |
|---|---|---|
| committer | Theodore Ts'o <tytso@mit.edu> | 2010-12-17 10:44:16 -0500 |
| commit | 670be5a78ac7c80f0d6009d648c84c65a03f373a (patch) | |
| tree | e74adf62ba7d69540ddcb620cf45b6cf99cdedf8 | |
| parent | a8901d34872dafcafa23efa0865dcecfd4fddf8c (diff) | |
jbd2: Use pr_notice_ratelimited() in journal_alloc_journal_head()
We had an open-coded version of printk_ratelimited(); use the provided
abstraction to make the code cleaner and easier to understand.
Based on a similar patch for fs/jbd from Namhyung Kim <namhyung@gmail.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
| -rw-r--r-- | fs/jbd2/journal.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index f837ba953529..06dfd778cae5 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c | |||
| @@ -43,6 +43,7 @@ | |||
| 43 | #include <linux/vmalloc.h> | 43 | #include <linux/vmalloc.h> |
| 44 | #include <linux/backing-dev.h> | 44 | #include <linux/backing-dev.h> |
| 45 | #include <linux/bitops.h> | 45 | #include <linux/bitops.h> |
| 46 | #include <linux/ratelimit.h> | ||
| 46 | 47 | ||
| 47 | #define CREATE_TRACE_POINTS | 48 | #define CREATE_TRACE_POINTS |
| 48 | #include <trace/events/jbd2.h> | 49 | #include <trace/events/jbd2.h> |
| @@ -1982,7 +1983,6 @@ static void jbd2_journal_destroy_jbd2_journal_head_cache(void) | |||
| 1982 | static struct journal_head *journal_alloc_journal_head(void) | 1983 | static struct journal_head *journal_alloc_journal_head(void) |
| 1983 | { | 1984 | { |
| 1984 | struct journal_head *ret; | 1985 | struct journal_head *ret; |
| 1985 | static unsigned long last_warning; | ||
| 1986 | 1986 | ||
| 1987 | #ifdef CONFIG_JBD2_DEBUG | 1987 | #ifdef CONFIG_JBD2_DEBUG |
| 1988 | atomic_inc(&nr_journal_heads); | 1988 | atomic_inc(&nr_journal_heads); |
| @@ -1990,11 +1990,7 @@ static struct journal_head *journal_alloc_journal_head(void) | |||
| 1990 | ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS); | 1990 | ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS); |
| 1991 | if (!ret) { | 1991 | if (!ret) { |
| 1992 | jbd_debug(1, "out of memory for journal_head\n"); | 1992 | jbd_debug(1, "out of memory for journal_head\n"); |
| 1993 | if (time_after(jiffies, last_warning + 5*HZ)) { | 1993 | pr_notice_ratelimited("ENOMEM in %s, retrying.\n", __func__); |
| 1994 | printk(KERN_NOTICE "ENOMEM in %s, retrying.\n", | ||
| 1995 | __func__); | ||
| 1996 | last_warning = jiffies; | ||
| 1997 | } | ||
| 1998 | while (!ret) { | 1994 | while (!ret) { |
| 1999 | yield(); | 1995 | yield(); |
| 2000 | ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS); | 1996 | ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS); |
