提交 e04a88a9 编写于 作者: J Jan Kara 提交者: Linus Torvalds

quota: don't set grace time when user isn't above softlimit

do_set_dqblk() allowed SETDQBLK quotactl to set user's grace time even if
user was not above his softlimit.  This does not make much sence and by
coincidence causes quota code to omit softlimit warning when user really
exceeds softlimit.  This patch makes do_set_dqblk() reset user's grace
time if he has not exceeded softlimit.
Signed-off-by: NJan Kara <jack@suse.cz>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 87d1fda5
...@@ -2090,10 +2090,12 @@ static int do_set_dqblk(struct dquot *dquot, struct if_dqblk *di) ...@@ -2090,10 +2090,12 @@ static int do_set_dqblk(struct dquot *dquot, struct if_dqblk *di)
} }
if (di->dqb_valid & QIF_BTIME) { if (di->dqb_valid & QIF_BTIME) {
dm->dqb_btime = di->dqb_btime; dm->dqb_btime = di->dqb_btime;
check_blim = 1;
__set_bit(DQ_LASTSET_B + QIF_BTIME_B, &dquot->dq_flags); __set_bit(DQ_LASTSET_B + QIF_BTIME_B, &dquot->dq_flags);
} }
if (di->dqb_valid & QIF_ITIME) { if (di->dqb_valid & QIF_ITIME) {
dm->dqb_itime = di->dqb_itime; dm->dqb_itime = di->dqb_itime;
check_ilim = 1;
__set_bit(DQ_LASTSET_B + QIF_ITIME_B, &dquot->dq_flags); __set_bit(DQ_LASTSET_B + QIF_ITIME_B, &dquot->dq_flags);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册