summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2010-04-06 18:52:47 +0200
committerJan Kara <jack@suse.cz>2010-04-12 21:12:19 +0200
commit4c5e6c0e70fd6ca2fa67184fd36a261b3b7b38d0 (patch)
tree989f00937056222c6672a888b6670e570826442d
parent774f03fb2cf89951b5f5f363b7739a2835d5924e (diff)
downloadlinux-4c5e6c0e70fd6ca2fa67184fd36a261b3b7b38d0.tar.gz
linux-4c5e6c0e70fd6ca2fa67184fd36a261b3b7b38d0.tar.bz2
linux-4c5e6c0e70fd6ca2fa67184fd36a261b3b7b38d0.zip
quota: Hide warnings about writes to the filesystem before quota was turned on
For a root filesystem write to the filesystem before quota is turned on happens regularly and there's no way around it because of writes to syslog, /etc/mtab, and similar. So the warning is rather pointless for ordinary users. It's still useful during development so we just hide the warning behind __DQUOT_PARANOIA config option. Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--fs/quota/dquot.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index e0b870f4749f..f9a37513f24c 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -874,14 +874,18 @@ static int dqinit_needed(struct inode *inode, int type)
static void add_dquot_ref(struct super_block *sb, int type)
{
struct inode *inode, *old_inode = NULL;
+#ifdef __DQUOT_PARANOIA
int reserved = 0;
+#endif
spin_lock(&inode_lock);
list_for_each_entry(inode, &sb->s_inodes, i_sb_list) {
if (inode->i_state & (I_FREEING|I_CLEAR|I_WILL_FREE|I_NEW))
continue;
+#ifdef __DQUOT_PARANOIA
if (unlikely(inode_get_rsv_space(inode) > 0))
reserved = 1;
+#endif
if (!atomic_read(&inode->i_writecount))
continue;
if (!dqinit_needed(inode, type))
@@ -903,11 +907,13 @@ static void add_dquot_ref(struct super_block *sb, int type)
spin_unlock(&inode_lock);
iput(old_inode);
+#ifdef __DQUOT_PARANOIA
if (reserved) {
printk(KERN_WARNING "VFS (%s): Writes happened before quota"
" was turned on thus quota information is probably "
"inconsistent. Please run quotacheck(8).\n", sb->s_id);
}
+#endif
}
/*