summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2009-12-22 23:16:33 -0500
committerEric Paris <eparis@redhat.com>2010-07-28 09:58:31 -0400
commitd7f0ce4e436b6109527c51b0efe0deff53d215f7 (patch)
treeb3c78a9c8b97ecf0dad28776dc38d47e88483731
parent2dfc1cae4c42b93b831b2417540df2b895ab7108 (diff)
downloadop-kernel-dev-d7f0ce4e436b6109527c51b0efe0deff53d215f7.zip
op-kernel-dev-d7f0ce4e436b6109527c51b0efe0deff53d215f7.tar.gz
inotify: do not spam console without limit
inotify was supposed to have a dmesg printk ratelimitor which would cause inotify to only emit one message per boot. The static bool was never set so it kept firing messages. This patch correctly limits warnings in multiple places. Signed-off-by: Eric Paris <eparis@redhat.com>
-rw-r--r--fs/notify/inotify/inotify_user.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index ce21eba..f2b5424 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -449,20 +449,18 @@ static void inotify_remove_from_idr(struct fsnotify_group *group,
* if it wasn't....
*/
if (wd == -1) {
- printk(KERN_WARNING "%s: ientry=%p ientry->wd=%d ientry->group=%p"
+ WARN_ONCE(1, "%s: ientry=%p ientry->wd=%d ientry->group=%p"
" ientry->inode=%p\n", __func__, ientry, ientry->wd,
ientry->fsn_entry.group, ientry->fsn_entry.inode);
- WARN_ON(1);
goto out;
}
/* Lets look in the idr to see if we find it */
found_ientry = inotify_idr_find_locked(group, wd);
if (unlikely(!found_ientry)) {
- printk(KERN_WARNING "%s: ientry=%p ientry->wd=%d ientry->group=%p"
+ WARN_ONCE(1, "%s: ientry=%p ientry->wd=%d ientry->group=%p"
" ientry->inode=%p\n", __func__, ientry, ientry->wd,
ientry->fsn_entry.group, ientry->fsn_entry.inode);
- WARN_ON(1);
goto out;
}
@@ -472,8 +470,7 @@ static void inotify_remove_from_idr(struct fsnotify_group *group,
* fucked up somewhere.
*/
if (unlikely(found_ientry != ientry)) {
- WARN_ON(1);
- printk(KERN_WARNING "%s: ientry=%p ientry->wd=%d ientry->group=%p "
+ WARN_ONCE(1, "%s: ientry=%p ientry->wd=%d ientry->group=%p "
"entry->inode=%p found_ientry=%p found_ientry->wd=%d "
"found_ientry->group=%p found_ientry->inode=%p\n",
__func__, ientry, ientry->wd, ientry->fsn_entry.group,
@@ -489,7 +486,7 @@ static void inotify_remove_from_idr(struct fsnotify_group *group,
* one ref grabbed by inotify_idr_find
*/
if (unlikely(atomic_read(&ientry->fsn_entry.refcnt) < 3)) {
- printk(KERN_WARNING "%s: ientry=%p ientry->wd=%d ientry->group=%p"
+ printk(KERN_ERR "%s: ientry=%p ientry->wd=%d ientry->group=%p"
" ientry->inode=%p\n", __func__, ientry, ientry->wd,
ientry->fsn_entry.group, ientry->fsn_entry.inode);
/* we can't really recover with bad ref cnting.. */
OpenPOWER on IntegriCloud