Commit cdd39d34 authored by Jan Kara's avatar Jan Kara Committed by Linus Torvalds

[PATCH] Allow disabling quota messages to console

Allow disabling of quota messages to console (they can disturb other
output).
Signed-off-by: default avatarJan Kara <jack@suse.cz>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 04a6c897
...@@ -774,8 +774,13 @@ static inline void dquot_decr_space(struct dquot *dquot, qsize_t number) ...@@ -774,8 +774,13 @@ static inline void dquot_decr_space(struct dquot *dquot, qsize_t number)
clear_bit(DQ_BLKS_B, &dquot->dq_flags); clear_bit(DQ_BLKS_B, &dquot->dq_flags);
} }
static int flag_print_warnings = 1;
static inline int need_print_warning(struct dquot *dquot) static inline int need_print_warning(struct dquot *dquot)
{ {
if (!flag_print_warnings)
return 0;
switch (dquot->dq_type) { switch (dquot->dq_type) {
case USRQUOTA: case USRQUOTA:
return current->fsuid == dquot->dq_id; return current->fsuid == dquot->dq_id;
...@@ -803,6 +808,7 @@ static void print_warning(struct dquot *dquot, const char warntype) ...@@ -803,6 +808,7 @@ static void print_warning(struct dquot *dquot, const char warntype)
if (!need_print_warning(dquot) || (flag && test_and_set_bit(flag, &dquot->dq_flags))) if (!need_print_warning(dquot) || (flag && test_and_set_bit(flag, &dquot->dq_flags)))
return; return;
tty_write_message(current->signal->tty, dquot->dq_sb->s_id); tty_write_message(current->signal->tty, dquot->dq_sb->s_id);
if (warntype == ISOFTWARN || warntype == BSOFTWARN) if (warntype == ISOFTWARN || warntype == BSOFTWARN)
tty_write_message(current->signal->tty, ": warning, "); tty_write_message(current->signal->tty, ": warning, ");
...@@ -1744,6 +1750,14 @@ static ctl_table fs_dqstats_table[] = { ...@@ -1744,6 +1750,14 @@ static ctl_table fs_dqstats_table[] = {
.mode = 0444, .mode = 0444,
.proc_handler = &proc_dointvec, .proc_handler = &proc_dointvec,
}, },
{
.ctl_name = FS_DQ_WARNINGS,
.procname = "warnings",
.data = &flag_print_warnings,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = &proc_dointvec,
},
{ .ctl_name = 0 }, { .ctl_name = 0 },
}; };
......
...@@ -663,7 +663,7 @@ enum ...@@ -663,7 +663,7 @@ enum
FS_LEASES=13, /* int: leases enabled */ FS_LEASES=13, /* int: leases enabled */
FS_DIR_NOTIFY=14, /* int: directory notification enabled */ FS_DIR_NOTIFY=14, /* int: directory notification enabled */
FS_LEASE_TIME=15, /* int: maximum time to wait for a lease break */ FS_LEASE_TIME=15, /* int: maximum time to wait for a lease break */
FS_DQSTATS=16, /* disc quota usage statistics */ FS_DQSTATS=16, /* disc quota usage statistics and control */
FS_XFS=17, /* struct: control xfs parameters */ FS_XFS=17, /* struct: control xfs parameters */
FS_AIO_NR=18, /* current system-wide number of aio requests */ FS_AIO_NR=18, /* current system-wide number of aio requests */
FS_AIO_MAX_NR=19, /* system-wide maximum number of aio requests */ FS_AIO_MAX_NR=19, /* system-wide maximum number of aio requests */
...@@ -679,6 +679,7 @@ enum { ...@@ -679,6 +679,7 @@ enum {
FS_DQ_ALLOCATED = 6, FS_DQ_ALLOCATED = 6,
FS_DQ_FREE = 7, FS_DQ_FREE = 7,
FS_DQ_SYNCS = 8, FS_DQ_SYNCS = 8,
FS_DQ_WARNINGS = 9,
}; };
/* CTL_DEBUG names: */ /* CTL_DEBUG names: */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment