diff options
author | jkar8572 <jkar8572> | 2008-12-18 23:57:25 +0000 |
---|---|---|
committer | jkar8572 <jkar8572> | 2008-12-18 23:57:25 +0000 |
commit | 4afabfe703b1d54ce055ff792ded78cf778b5ec4 (patch) | |
tree | 0bc78b4ba9edb78c56f518961feabededc67f9bb /setquota.c | |
parent | 830ca0318fc60c8566d76b3961bf9c40e2276569 (diff) |
Do not allow setting of user's grace time when softlimit is not exceeded (Jan Kara)
Diffstat (limited to 'setquota.c')
-rw-r--r-- | setquota.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -387,8 +387,14 @@ static int setindivgraces(struct quota_handle **handles) curprivs = getprivs(id, handles, 0); for (q = curprivs; q; q = q->dq_next) { - q->dq_dqb.dqb_btime = toset.dqb_btime; - q->dq_dqb.dqb_itime = toset.dqb_itime; + if (q->dq_dqb.dqb_bsoftlimit && toqb(q->dq_dqb.dqb_curspace) > q->dq_dqb.dqb_bsoftlimit) + q->dq_dqb.dqb_btime = toset.dqb_btime; + else + errstr(_("Not setting block grace time on %s because softlimit is not exceeded.\n"), q->dq_h->qh_quotadev); + if (q->dq_dqb.dqb_isoftlimit && q->dq_dqb.dqb_curinodes > q->dq_dqb.dqb_isoftlimit) + q->dq_dqb.dqb_itime = toset.dqb_itime; + else + errstr(_("Not setting inode grace time on %s because softlimit is not exceeded.\n"), q->dq_h->qh_quotadev); } if (putprivs(curprivs, COMMIT_TIMES) == -1) { errstr(_("cannot write times for %s. Maybe kernel does not support such operation?\n"), type2name(flags & FL_USER ? USRQUOTA : GRPQUOTA)); |