diff -urN quota-tools.org/quota.c quota-tools/quota.c --- quota-tools.org/quota.c Fri May 31 18:01:16 2002 +++ quota-tools/quota.c Fri May 31 17:59:37 2002 @@ -173,7 +173,7 @@ iover = 1; } else if (q->dq_dqb.dqb_isoftlimit - && q->dq_dqb.dqb_curinodes >= q->dq_dqb.dqb_isoftlimit) { + && q->dq_dqb.dqb_curinodes > q->dq_dqb.dqb_isoftlimit) { if (q->dq_dqb.dqb_itime > now) { msgi = _("In file grace period on"); iover = 2; @@ -189,7 +189,7 @@ bover = 1; } else if (q->dq_dqb.dqb_bsoftlimit - && toqb(q->dq_dqb.dqb_curspace) >= q->dq_dqb.dqb_bsoftlimit) { + && toqb(q->dq_dqb.dqb_curspace) > q->dq_dqb.dqb_bsoftlimit) { if (q->dq_dqb.dqb_btime > now) { msgb = _("In block grace period on"); bover = 2; diff -urN quota-tools.org/quotasys.c quota-tools/quotasys.c --- quota-tools.org/quotasys.c Fri May 31 18:01:16 2002 +++ quota-tools/quotasys.c Fri May 31 17:59:38 2002 @@ -371,7 +371,7 @@ ret = quotafile_ops_1.check_file(fd, type); close(fd); } - else if (errno != ENOENT) + else if (errno != ENOENT && errno != EPERM) errstr(_("Can't open quotafile %s: %s\n"), name, strerror(errno)); return ret; } @@ -520,6 +520,8 @@ struct stat st; kernel_formats = 0; + if (!stat("/proc/fs/xfs/stat", &st)) + kernel_formats |= (1 << QF_XFS); if ((f = fopen(QSTAT_FILE, "r"))) { /* Parse statistics file */ fgets(buf, sizeof(buf), f); @@ -545,8 +547,6 @@ struct v2_dqstats v2_stats; struct sigaction sig, oldsig; - if (!stat("/proc/fs/xfs/stat", &st)) - kernel_formats |= (1 << QF_XFS); /* This signal handling is needed because old kernels send us SIGSEGV as they try to resolve the device */ sig.sa_handler = SIG_IGN; sig.sa_sigaction = NULL;