summaryrefslogtreecommitdiff
path: root/sys/ufs
diff options
context:
space:
mode:
authorMike Pritchard <mpp@FreeBSD.org>2007-02-04 06:46:57 +0000
committerMike Pritchard <mpp@FreeBSD.org>2007-02-04 06:46:57 +0000
commit522883b87f262bcc9ab4094f69104550da10032e (patch)
tree8fcbc53bd25fd7902579a7563c5ca606bf5e6ddf /sys/ufs
parent6ae9968c9a6c08526f610f1da78f1d341e9ecf61 (diff)
Notes
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ufs/ufs_quota.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/ufs/ufs/ufs_quota.c b/sys/ufs/ufs/ufs_quota.c
index d86e26e8c777..7d46f9660292 100644
--- a/sys/ufs/ufs/ufs_quota.c
+++ b/sys/ufs/ufs/ufs_quota.c
@@ -987,10 +987,18 @@ dqget(vp, id, ump, type, dqp)
dq->dq_ihardlimit == 0 && dq->dq_bhardlimit == 0)
dq->dq_flags |= DQ_FAKE;
if (dq->dq_id != 0) {
- if (dq->dq_btime == 0)
+ if (dq->dq_btime == 0) {
dq->dq_btime = time_second + ump->um_btime[type];
- if (dq->dq_itime == 0)
+ if (dq->dq_bsoftlimit &&
+ dq->dq_curblocks >= dq->dq_bsoftlimit)
+ dq->dq_flags |= DQ_MOD;
+ }
+ if (dq->dq_itime == 0) {
dq->dq_itime = time_second + ump->um_itime[type];
+ if (dq->dq_isoftlimit &&
+ dq->dq_curinodes >= dq->dq_isoftlimit)
+ dq->dq_flags |= DQ_MOD;
+ }
}
*dqp = dq;
return (0);