Module Name: src
Committed By: dholland
Date: Fri Nov 25 16:55:06 UTC 2011
Modified Files:
src/common/include/quota: quota.h
src/lib/libquota: getfsquota.c getnfsquota.c getufsquota.c
src/libexec/rpc.rquotad: rquotad.c
src/sys/compat/common: vfs_syscalls_50.c
src/sys/sys: quota.h
src/sys/ufs/ufs: quota1.h quota1_subr.c ufs_quota1.c
src/usr.bin/quota: getvfsquota.c getvfsquota.h quota.c
src/usr.sbin/edquota: edquota.c
src/usr.sbin/repquota: repquota.c
Log Message:
Rename struct ufs_quota_entry -> struct quotaval.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/common/include/quota/quota.h
cvs rdiff -u -r1.2 -r1.3 src/lib/libquota/getfsquota.c
cvs rdiff -u -r1.3 -r1.4 src/lib/libquota/getnfsquota.c \
src/lib/libquota/getufsquota.c
cvs rdiff -u -r1.30 -r1.31 src/libexec/rpc.rquotad/rquotad.c
cvs rdiff -u -r1.9 -r1.10 src/sys/compat/common/vfs_syscalls_50.c
cvs rdiff -u -r1.5 -r1.6 src/sys/sys/quota.h
cvs rdiff -u -r1.4 -r1.5 src/sys/ufs/ufs/quota1.h
cvs rdiff -u -r1.5 -r1.6 src/sys/ufs/ufs/quota1_subr.c \
src/sys/ufs/ufs/ufs_quota1.c
cvs rdiff -u -r1.8 -r1.9 src/usr.bin/quota/getvfsquota.c
cvs rdiff -u -r1.4 -r1.5 src/usr.bin/quota/getvfsquota.h
cvs rdiff -u -r1.37 -r1.38 src/usr.bin/quota/quota.c
cvs rdiff -u -r1.38 -r1.39 src/usr.sbin/edquota/edquota.c
cvs rdiff -u -r1.32 -r1.33 src/usr.sbin/repquota/repquota.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/common/include/quota/quota.h
diff -u src/common/include/quota/quota.h:1.3 src/common/include/quota/quota.h:1.4
--- src/common/include/quota/quota.h:1.3 Sun Nov 20 21:43:34 2011
+++ src/common/include/quota/quota.h Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: quota.h,v 1.3 2011/11/20 21:43:34 dholland Exp $ */
+/* $NetBSD: quota.h,v 1.4 2011/11/25 16:55:05 dholland Exp $ */
/*-
* Copyright (c) 2010 Manuel Bouyer
* All rights reserved.
@@ -50,15 +50,15 @@ int quota_check_limit(uint64_t, uint64_t
/*
* retrieve quotas with ufs semantics from vfs, for the given id and class.
- * second argument points to a struct ufs_quota_entry array of QUOTA_NLIMITS
+ * second argument points to a struct quotaval array of QUOTA_NLIMITS
* elements.
*/
-int getufsquota(const char *, struct ufs_quota_entry *, uid_t, const char *);
+int getufsquota(const char *, struct quotaval *, uid_t, const char *);
/* same as above, but for NFS */
-int getnfsquota(const char *, struct ufs_quota_entry *, uid_t, const char *);
+int getnfsquota(const char *, struct quotaval *, uid_t, const char *);
/* call one of the above, if appropriate, after a statvfs(2) */
-int getfsquota(const char *, struct ufs_quota_entry *, uid_t, const char *);
+int getfsquota(const char *, struct quotaval *, uid_t, const char *);
#endif /* _QUOTA_QUOTA_H_ */
Index: src/lib/libquota/getfsquota.c
diff -u src/lib/libquota/getfsquota.c:1.2 src/lib/libquota/getfsquota.c:1.3
--- src/lib/libquota/getfsquota.c:1.2 Tue Jun 7 14:56:12 2011
+++ src/lib/libquota/getfsquota.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: getfsquota.c,v 1.2 2011/06/07 14:56:12 bouyer Exp $ */
+/* $NetBSD: getfsquota.c,v 1.3 2011/11/25 16:55:05 dholland Exp $ */
/*-
* Copyright (c) 2011 Manuel Bouyer
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: getfsquota.c,v 1.2 2011/06/07 14:56:12 bouyer Exp $");
+__RCSID("$NetBSD: getfsquota.c,v 1.3 2011/11/25 16:55:05 dholland Exp $");
#include <stdio.h>
#include <stdlib.h>
@@ -43,7 +43,7 @@ __RCSID("$NetBSD: getfsquota.c,v 1.2 201
/* retrieve quotas with ufs semantics from vfs, for the given user id */
int
-getfsquota(const char *path, struct ufs_quota_entry *qv, uid_t id,
+getfsquota(const char *path, struct quotaval *qv, uid_t id,
const char *class)
{
struct statvfs v;
Index: src/lib/libquota/getnfsquota.c
diff -u src/lib/libquota/getnfsquota.c:1.3 src/lib/libquota/getnfsquota.c:1.4
--- src/lib/libquota/getnfsquota.c:1.3 Sun Nov 20 21:43:35 2011
+++ src/lib/libquota/getnfsquota.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: getnfsquota.c,v 1.3 2011/11/20 21:43:35 dholland Exp $ */
+/* $NetBSD: getnfsquota.c,v 1.4 2011/11/25 16:55:05 dholland Exp $ */
/*
* Copyright (c) 1980, 1990, 1993
@@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
#if 0
static char sccsid[] = "@(#)quota.c 8.4 (Berkeley) 4/28/95";
#else
-__RCSID("$NetBSD: getnfsquota.c,v 1.3 2011/11/20 21:43:35 dholland Exp $");
+__RCSID("$NetBSD: getnfsquota.c,v 1.4 2011/11/25 16:55:05 dholland Exp $");
#endif
#endif /* not lint */
@@ -114,7 +114,7 @@ callaurpc(const char *host, rpcprog_t pr
}
int
-getnfsquota(const char *mp, struct ufs_quota_entry *qv,
+getnfsquota(const char *mp, struct quotaval *qv,
uint32_t id, const char *class)
{
struct getquota_args gq_args;
@@ -178,29 +178,30 @@ getnfsquota(const char *mp, struct ufs_q
gettimeofday(&tv, NULL);
/* blocks*/
- qv[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit = rqlim2qlim(
+ qv[QUOTA_LIMIT_BLOCK].qv_hardlimit = rqlim2qlim(
gq_rslt.getquota_rslt_u.gqr_rquota.rq_bhardlimit *
(gq_rslt.getquota_rslt_u.gqr_rquota.rq_bsize / DEV_BSIZE));
- qv[QUOTA_LIMIT_BLOCK].ufsqe_softlimit = rqlim2qlim(
+ qv[QUOTA_LIMIT_BLOCK].qv_softlimit = rqlim2qlim(
gq_rslt.getquota_rslt_u.gqr_rquota.rq_bsoftlimit *
(gq_rslt.getquota_rslt_u.gqr_rquota.rq_bsize / DEV_BSIZE));
- qv[QUOTA_LIMIT_BLOCK].ufsqe_cur =
+ qv[QUOTA_LIMIT_BLOCK].qv_usage =
gq_rslt.getquota_rslt_u.gqr_rquota.rq_curblocks *
(gq_rslt.getquota_rslt_u.gqr_rquota.rq_bsize / DEV_BSIZE);
- qv[QUOTA_LIMIT_BLOCK].ufsqe_time = (tv.tv_sec +
+ qv[QUOTA_LIMIT_BLOCK].qv_expiretime = (tv.tv_sec +
gq_rslt.getquota_rslt_u.gqr_rquota.rq_btimeleft);
/* inodes */
- qv[QUOTA_LIMIT_FILE].ufsqe_hardlimit = rqlim2qlim(
+ qv[QUOTA_LIMIT_FILE].qv_hardlimit = rqlim2qlim(
gq_rslt.getquota_rslt_u.gqr_rquota.rq_fhardlimit);
- qv[QUOTA_LIMIT_FILE].ufsqe_softlimit = rqlim2qlim(
+ qv[QUOTA_LIMIT_FILE].qv_softlimit = rqlim2qlim(
gq_rslt.getquota_rslt_u.gqr_rquota.rq_fsoftlimit);
- qv[QUOTA_LIMIT_FILE].ufsqe_cur =
+ qv[QUOTA_LIMIT_FILE].qv_usage =
gq_rslt.getquota_rslt_u.gqr_rquota.rq_curfiles;
- qv[QUOTA_LIMIT_FILE].ufsqe_time = (int)(tv.tv_sec +
+ qv[QUOTA_LIMIT_FILE].qv_expiretime = (int)(tv.tv_sec +
gq_rslt.getquota_rslt_u.gqr_rquota.rq_ftimeleft);
- qv[QUOTA_LIMIT_BLOCK].ufsqe_grace =
- qv[QUOTA_LIMIT_FILE].ufsqe_grace = 0;
+
+ qv[QUOTA_LIMIT_BLOCK].qv_grace =
+ qv[QUOTA_LIMIT_FILE].qv_grace = 0;
return 1;
default:
/* XXX sert errno and return -1 ? */
Index: src/lib/libquota/getufsquota.c
diff -u src/lib/libquota/getufsquota.c:1.3 src/lib/libquota/getufsquota.c:1.4
--- src/lib/libquota/getufsquota.c:1.3 Fri Sep 30 22:08:19 2011
+++ src/lib/libquota/getufsquota.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: getufsquota.c,v 1.3 2011/09/30 22:08:19 jym Exp $ */
+/* $NetBSD: getufsquota.c,v 1.4 2011/11/25 16:55:05 dholland Exp $ */
/*-
* Copyright (c) 2011 Manuel Bouyer
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: getufsquota.c,v 1.3 2011/09/30 22:08:19 jym Exp $");
+__RCSID("$NetBSD: getufsquota.c,v 1.4 2011/11/25 16:55:05 dholland Exp $");
#include <stdio.h>
#include <stdlib.h>
@@ -42,7 +42,7 @@ __RCSID("$NetBSD: getufsquota.c,v 1.3 20
/* retrieve quotas with ufs semantics from vfs, for the given user id */
int
-getufsquota(const char *mp, struct ufs_quota_entry *qv, uid_t id,
+getufsquota(const char *mp, struct quotaval *qv, uid_t id,
const char *class)
{
prop_dictionary_t dict, data, cmd;
@@ -151,9 +151,9 @@ getufsquota(const char *mp, struct ufs_q
goto end_dict;
}
values[QUOTA_LIMIT_BLOCK] =
- &qv[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit;
+ &qv[QUOTA_LIMIT_BLOCK].qv_hardlimit;
values[QUOTA_LIMIT_FILE] =
- &qv[QUOTA_LIMIT_FILE].ufsqe_hardlimit;
+ &qv[QUOTA_LIMIT_FILE].qv_hardlimit;
errno = proptoquota64(data, values, ufs_quota_entry_names,
UFS_QUOTA_NENTRIES, ufs_quota_limit_names, QUOTA_NLIMITS);
Index: src/libexec/rpc.rquotad/rquotad.c
diff -u src/libexec/rpc.rquotad/rquotad.c:1.30 src/libexec/rpc.rquotad/rquotad.c:1.31
--- src/libexec/rpc.rquotad/rquotad.c:1.30 Fri Sep 16 16:13:17 2011
+++ src/libexec/rpc.rquotad/rquotad.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: rquotad.c,v 1.30 2011/09/16 16:13:17 plunky Exp $ */
+/* $NetBSD: rquotad.c,v 1.31 2011/11/25 16:55:05 dholland Exp $ */
/*
* by Manuel Bouyer ([email protected]). Public domain.
@@ -6,7 +6,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: rquotad.c,v 1.30 2011/09/16 16:13:17 plunky Exp $");
+__RCSID("$NetBSD: rquotad.c,v 1.31 2011/11/25 16:55:05 dholland Exp $");
#endif
#include <sys/param.h>
@@ -170,7 +170,7 @@ sendquota(struct svc_req *request, int v
struct getquota_args getq_args;
struct ext_getquota_args ext_getq_args;
struct getquota_rslt getq_rslt;
- struct ufs_quota_entry qe[QUOTA_NLIMITS];
+ struct quotaval qv[QUOTA_NLIMITS];
const char *class;
struct timeval timev;
@@ -209,7 +209,7 @@ sendquota(struct svc_req *request, int v
if (request->rq_cred.oa_flavor != AUTH_UNIX) {
/* bad auth */
getq_rslt.status = Q_EPERM;
- } else if (!getufsquota(ext_getq_args.gqa_pathp, qe,
+ } else if (!getufsquota(ext_getq_args.gqa_pathp, qv,
ext_getq_args.gqa_id, class)) {
/* failed, return noquota */
getq_rslt.status = Q_NOQUOTA;
@@ -219,21 +219,21 @@ sendquota(struct svc_req *request, int v
getq_rslt.getquota_rslt_u.gqr_rquota.rq_active = TRUE;
getq_rslt.getquota_rslt_u.gqr_rquota.rq_bsize = DEV_BSIZE;
getq_rslt.getquota_rslt_u.gqr_rquota.rq_bhardlimit =
- qlim2rqlim(qe[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit);
+ qlim2rqlim(qv[QUOTA_LIMIT_BLOCK].qv_hardlimit);
getq_rslt.getquota_rslt_u.gqr_rquota.rq_bsoftlimit =
- qlim2rqlim(qe[QUOTA_LIMIT_BLOCK].ufsqe_softlimit);
+ qlim2rqlim(qv[QUOTA_LIMIT_BLOCK].qv_softlimit);
getq_rslt.getquota_rslt_u.gqr_rquota.rq_curblocks =
- qe[QUOTA_LIMIT_BLOCK].ufsqe_cur;
+ qv[QUOTA_LIMIT_BLOCK].qv_usage;
getq_rslt.getquota_rslt_u.gqr_rquota.rq_fhardlimit =
- qlim2rqlim(qe[QUOTA_LIMIT_FILE].ufsqe_hardlimit);
+ qlim2rqlim(qv[QUOTA_LIMIT_FILE].qv_hardlimit);
getq_rslt.getquota_rslt_u.gqr_rquota.rq_fsoftlimit =
- qlim2rqlim(qe[QUOTA_LIMIT_FILE].ufsqe_softlimit);
+ qlim2rqlim(qv[QUOTA_LIMIT_FILE].qv_softlimit);
getq_rslt.getquota_rslt_u.gqr_rquota.rq_curfiles =
- qe[QUOTA_LIMIT_FILE].ufsqe_cur;
+ qv[QUOTA_LIMIT_FILE].qv_usage;
getq_rslt.getquota_rslt_u.gqr_rquota.rq_btimeleft =
- qe[QUOTA_LIMIT_BLOCK].ufsqe_time - timev.tv_sec;
+ qv[QUOTA_LIMIT_BLOCK].qv_expiretime - timev.tv_sec;
getq_rslt.getquota_rslt_u.gqr_rquota.rq_ftimeleft =
- qe[QUOTA_LIMIT_FILE].ufsqe_time - timev.tv_sec;
+ qv[QUOTA_LIMIT_FILE].qv_expiretime - timev.tv_sec;
}
out:
if (!svc_sendreply(transp, (xdrproc_t)xdr_getquota_rslt, (char *)&getq_rslt))
Index: src/sys/compat/common/vfs_syscalls_50.c
diff -u src/sys/compat/common/vfs_syscalls_50.c:1.9 src/sys/compat/common/vfs_syscalls_50.c:1.10
--- src/sys/compat/common/vfs_syscalls_50.c:1.9 Sun Nov 20 21:43:35 2011
+++ src/sys/compat/common/vfs_syscalls_50.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: vfs_syscalls_50.c,v 1.9 2011/11/20 21:43:35 dholland Exp $ */
+/* $NetBSD: vfs_syscalls_50.c,v 1.10 2011/11/25 16:55:05 dholland Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_50.c,v 1.9 2011/11/20 21:43:35 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vfs_syscalls_50.c,v 1.10 2011/11/25 16:55:05 dholland Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -336,11 +336,11 @@ compat_50_sys_quotactl(struct lwp *l, co
prop_array_t cmds, datas;
char *bufpath;
struct dqblk dqblk;
- struct ufs_quota_entry qe[QUOTA_NLIMITS];
+ struct quotaval qv[QUOTA_NLIMITS];
uint64_t *values[QUOTA_NLIMITS];
- values[QUOTA_LIMIT_BLOCK] = &qe[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit;
- values[QUOTA_LIMIT_FILE] = &qe[QUOTA_LIMIT_FILE].ufsqe_hardlimit;
+ values[QUOTA_LIMIT_BLOCK] = &qv[QUOTA_LIMIT_BLOCK].qv_hardlimit;
+ values[QUOTA_LIMIT_FILE] = &qv[QUOTA_LIMIT_FILE].qv_hardlimit;
error = namei_simple_user(SCARG(uap, path),
NSM_FOLLOW_TRYEMULROOT, &vp);
@@ -452,7 +452,7 @@ do_quotaonoff:
ufs_quota_limit_names, QUOTA_NLIMITS);
if (error)
goto out_dict;
- ufsqe2dqblk(qe, &dqblk);
+ quotaval_to_dqblk(qv, &dqblk);
error = copyout(&dqblk, SCARG(uap, arg), sizeof(dqblk));
goto out_dict;
@@ -460,7 +460,7 @@ do_quotaonoff:
error = copyin(SCARG(uap, arg), &dqblk, sizeof(dqblk));
if (error)
goto out_datas;
- dqblk2ufsqe(&dqblk, qe);
+ dqblk_to_quotaval(&dqblk, qv);
error = ENOMEM;
data = quota64toprop(SCARG(uap, uid), 0, values,
Index: src/sys/sys/quota.h
diff -u src/sys/sys/quota.h:1.5 src/sys/sys/quota.h:1.6
--- src/sys/sys/quota.h:1.5 Sun Nov 20 21:43:34 2011
+++ src/sys/sys/quota.h Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: quota.h,v 1.5 2011/11/20 21:43:34 dholland Exp $ */
+/* $NetBSD: quota.h,v 1.6 2011/11/25 16:55:05 dholland Exp $ */
/*-
* Copyright (c) 2010 Manuel Bouyer
* All rights reserved.
@@ -28,13 +28,15 @@
#ifndef _SYS_QUOTA_H_
#define _SYS_QUOTA_H_
-/* structure used to describe a UFS-like quota entry */
-struct ufs_quota_entry {
- uint64_t ufsqe_hardlimit; /* absolute limit */
- uint64_t ufsqe_softlimit; /* overflowable limit */
- uint64_t ufsqe_cur; /* current usage */
- int64_t ufsqe_time; /* grace expiration date for softlimit overflow */
- int64_t ufsqe_grace; /* allowed time for softlimit overflow */
+/*
+ * Structure used to describe the value part of a quota record.
+ */
+struct quotaval {
+ uint64_t qv_hardlimit; /* absolute limit */
+ uint64_t qv_softlimit; /* overflowable limit */
+ uint64_t qv_usage; /* current usage */
+ time_t qv_expiretime; /* time when softlimit grace expires */
+ time_t qv_grace; /* allowed time for overflowing soft limit */
};
#endif /* _SYS_QUOTA_H_ */
Index: src/sys/ufs/ufs/quota1.h
diff -u src/sys/ufs/ufs/quota1.h:1.4 src/sys/ufs/ufs/quota1.h:1.5
--- src/sys/ufs/ufs/quota1.h:1.4 Sun Nov 20 21:43:35 2011
+++ src/sys/ufs/ufs/quota1.h Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: quota1.h,v 1.4 2011/11/20 21:43:35 dholland Exp $ */
+/* $NetBSD: quota1.h,v 1.5 2011/11/25 16:55:05 dholland Exp $ */
/*
* Copyright (c) 1982, 1986, 1993
@@ -105,6 +105,7 @@ struct dqblk {
/* quota1_subr.c */
struct quota2_entry;
-void dqblk2ufsqe(const struct dqblk *, struct ufs_quota_entry *);
-void ufsqe2dqblk(const struct ufs_quota_entry *, struct dqblk *);
+void dqblk_to_quotaval(const struct dqblk *, struct quotaval *);
+void quotaval_to_dqblk(const struct quotaval *, struct dqblk *);
+
#endif /* !_UFS_UFS_QUOTA1_H_ */
Index: src/sys/ufs/ufs/quota1_subr.c
diff -u src/sys/ufs/ufs/quota1_subr.c:1.5 src/sys/ufs/ufs/quota1_subr.c:1.6
--- src/sys/ufs/ufs/quota1_subr.c:1.5 Sun Nov 20 21:43:35 2011
+++ src/sys/ufs/ufs/quota1_subr.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: quota1_subr.c,v 1.5 2011/11/20 21:43:35 dholland Exp $ */
+/* $NetBSD: quota1_subr.c,v 1.6 2011/11/25 16:55:05 dholland Exp $ */
/*-
* Copyright (c) 2010 Manuel Bouyer
* All rights reserved.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: quota1_subr.c,v 1.5 2011/11/20 21:43:35 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: quota1_subr.c,v 1.6 2011/11/25 16:55:05 dholland Exp $");
#include <sys/types.h>
#include <machine/limits.h>
@@ -54,38 +54,42 @@ q2e2dqblk_limit(uint64_t lim)
}
void
-dqblk2ufsqe(const struct dqblk *dqblk, struct ufs_quota_entry *qe)
+dqblk_to_quotaval(const struct dqblk *dqblk, struct quotaval *qv)
{
- qe[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit =
+ /* XXX is qv_grace getting handled correctly? */
+
+ qv[QUOTA_LIMIT_BLOCK].qv_hardlimit =
dqblk2q2e_limit(dqblk->dqb_bhardlimit);
- qe[QUOTA_LIMIT_BLOCK].ufsqe_softlimit =
+ qv[QUOTA_LIMIT_BLOCK].qv_softlimit =
dqblk2q2e_limit(dqblk->dqb_bsoftlimit);
- qe[QUOTA_LIMIT_BLOCK].ufsqe_cur = dqblk->dqb_curblocks;
- qe[QUOTA_LIMIT_BLOCK].ufsqe_time = dqblk->dqb_btime;
+ qv[QUOTA_LIMIT_BLOCK].qv_usage = dqblk->dqb_curblocks;
+ qv[QUOTA_LIMIT_BLOCK].qv_expiretime = dqblk->dqb_btime;
- qe[QUOTA_LIMIT_FILE].ufsqe_hardlimit =
+ qv[QUOTA_LIMIT_FILE].qv_hardlimit =
dqblk2q2e_limit(dqblk->dqb_ihardlimit);
- qe[QUOTA_LIMIT_FILE].ufsqe_softlimit =
+ qv[QUOTA_LIMIT_FILE].qv_softlimit =
dqblk2q2e_limit(dqblk->dqb_isoftlimit);
- qe[QUOTA_LIMIT_FILE].ufsqe_cur = dqblk->dqb_curinodes;
- qe[QUOTA_LIMIT_FILE].ufsqe_time = dqblk->dqb_itime;
+ qv[QUOTA_LIMIT_FILE].qv_usage = dqblk->dqb_curinodes;
+ qv[QUOTA_LIMIT_FILE].qv_expiretime = dqblk->dqb_itime;
}
void
-ufsqe2dqblk(const struct ufs_quota_entry *qe, struct dqblk *dqblk)
+quotaval_to_dqblk(const struct quotaval *qv, struct dqblk *dqblk)
{
+ /* XXX is qv_grace getting handled correctly? */
+
dqblk->dqb_bhardlimit =
- q2e2dqblk_limit(qe[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit);
+ q2e2dqblk_limit(qv[QUOTA_LIMIT_BLOCK].qv_hardlimit);
dqblk->dqb_bsoftlimit =
- q2e2dqblk_limit(qe[QUOTA_LIMIT_BLOCK].ufsqe_softlimit);
- dqblk->dqb_curblocks = qe[QUOTA_LIMIT_BLOCK].ufsqe_cur;
- dqblk->dqb_btime = qe[QUOTA_LIMIT_BLOCK].ufsqe_time;
+ q2e2dqblk_limit(qv[QUOTA_LIMIT_BLOCK].qv_softlimit);
+ dqblk->dqb_curblocks = qv[QUOTA_LIMIT_BLOCK].qv_usage;
+ dqblk->dqb_btime = qv[QUOTA_LIMIT_BLOCK].qv_expiretime;
dqblk->dqb_ihardlimit =
- q2e2dqblk_limit(qe[QUOTA_LIMIT_FILE].ufsqe_hardlimit);
+ q2e2dqblk_limit(qv[QUOTA_LIMIT_FILE].qv_hardlimit);
dqblk->dqb_isoftlimit =
- q2e2dqblk_limit(qe[QUOTA_LIMIT_FILE].ufsqe_softlimit);
- dqblk->dqb_curinodes = qe[QUOTA_LIMIT_FILE].ufsqe_cur;
- dqblk->dqb_itime = qe[QUOTA_LIMIT_FILE].ufsqe_time;
+ q2e2dqblk_limit(qv[QUOTA_LIMIT_FILE].qv_softlimit);
+ dqblk->dqb_curinodes = qv[QUOTA_LIMIT_FILE].qv_usage;
+ dqblk->dqb_itime = qv[QUOTA_LIMIT_FILE].qv_expiretime;
}
Index: src/sys/ufs/ufs/ufs_quota1.c
diff -u src/sys/ufs/ufs/ufs_quota1.c:1.5 src/sys/ufs/ufs/ufs_quota1.c:1.6
--- src/sys/ufs/ufs/ufs_quota1.c:1.5 Fri Oct 7 09:35:07 2011
+++ src/sys/ufs/ufs/ufs_quota1.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: ufs_quota1.c,v 1.5 2011/10/07 09:35:07 hannken Exp $ */
+/* $NetBSD: ufs_quota1.c,v 1.6 2011/11/25 16:55:05 dholland Exp $ */
/*
* Copyright (c) 1982, 1986, 1990, 1993, 1995
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ufs_quota1.c,v 1.5 2011/10/07 09:35:07 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ufs_quota1.c,v 1.6 2011/11/25 16:55:05 dholland Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -497,12 +497,12 @@ quota1_handle_cmd_get(struct ufsmount *u
int defaultq, prop_array_t replies)
{
struct dquot *dq;
- struct ufs_quota_entry qe[QUOTA_NLIMITS];
+ struct quotaval qv[QUOTA_NLIMITS];
prop_dictionary_t dict;
int error;
uint64_t *valuesp[QUOTA_NLIMITS];
- valuesp[QUOTA_LIMIT_BLOCK] = &qe[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit;
- valuesp[QUOTA_LIMIT_FILE] = &qe[QUOTA_LIMIT_FILE].ufsqe_hardlimit;
+ valuesp[QUOTA_LIMIT_BLOCK] = &qv[QUOTA_LIMIT_BLOCK].qv_hardlimit;
+ valuesp[QUOTA_LIMIT_FILE] = &qv[QUOTA_LIMIT_FILE].qv_hardlimit;
if (ump->um_quotas[type] == NULLVP)
@@ -516,19 +516,19 @@ quota1_handle_cmd_get(struct ufsmount *u
if ((error = dqget(NULLVP, id, ump, type, &dq)) != 0)
return error;
}
- dqblk2ufsqe(&dq->dq_un.dq1_dqb, qe);
+ dqblk_to_quotaval(&dq->dq_un.dq1_dqb, qv);
dqrele(NULLVP, dq);
if (defaultq) {
- if (qe[QUOTA_LIMIT_BLOCK].ufsqe_time > 0)
- qe[QUOTA_LIMIT_BLOCK].ufsqe_grace =
- qe[QUOTA_LIMIT_BLOCK].ufsqe_time;
+ if (qv[QUOTA_LIMIT_BLOCK].qv_expiretime > 0)
+ qv[QUOTA_LIMIT_BLOCK].qv_grace =
+ qv[QUOTA_LIMIT_BLOCK].qv_expiretime;
else
- qe[QUOTA_LIMIT_BLOCK].ufsqe_grace = MAX_DQ_TIME;
- if (qe[QUOTA_LIMIT_FILE].ufsqe_time > 0)
- qe[QUOTA_LIMIT_FILE].ufsqe_grace =
- qe[QUOTA_LIMIT_FILE].ufsqe_time;
+ qv[QUOTA_LIMIT_BLOCK].qv_grace = MAX_DQ_TIME;
+ if (qv[QUOTA_LIMIT_FILE].qv_expiretime > 0)
+ qv[QUOTA_LIMIT_FILE].qv_grace =
+ qv[QUOTA_LIMIT_FILE].qv_expiretime;
else
- qe[QUOTA_LIMIT_FILE].ufsqe_grace = MAX_DQ_TIME;
+ qv[QUOTA_LIMIT_FILE].qv_grace = MAX_DQ_TIME;
}
dict = quota64toprop(id, defaultq, valuesp,
ufs_quota_entry_names, UFS_QUOTA_NENTRIES,
Index: src/usr.bin/quota/getvfsquota.c
diff -u src/usr.bin/quota/getvfsquota.c:1.8 src/usr.bin/quota/getvfsquota.c:1.9
--- src/usr.bin/quota/getvfsquota.c:1.8 Fri Sep 30 22:08:19 2011
+++ src/usr.bin/quota/getvfsquota.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: getvfsquota.c,v 1.8 2011/09/30 22:08:19 jym Exp $ */
+/* $NetBSD: getvfsquota.c,v 1.9 2011/11/25 16:55:05 dholland Exp $ */
/*-
* Copyright (c) 2011 Manuel Bouyer
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: getvfsquota.c,v 1.8 2011/09/30 22:08:19 jym Exp $");
+__RCSID("$NetBSD: getvfsquota.c,v 1.9 2011/11/25 16:55:05 dholland Exp $");
#include <stdio.h>
#include <stdlib.h>
@@ -44,7 +44,7 @@ __RCSID("$NetBSD: getvfsquota.c,v 1.8 20
/* private version of getufsquota() */
int
-getvfsquota(const char *mp, struct ufs_quota_entry *qv, int8_t *versp,
+getvfsquota(const char *mp, struct quotaval *qv, int8_t *versp,
uint32_t id, int type, int defaultq, int debug)
{
prop_dictionary_t dict, data, cmd;
@@ -149,9 +149,9 @@ getvfsquota(const char *mp, struct ufs_q
err(1, "prop_array_get(data)");
values[QUOTA_LIMIT_BLOCK] =
- &qv[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit;
+ &qv[QUOTA_LIMIT_BLOCK].qv_hardlimit;
values[QUOTA_LIMIT_FILE] =
- &qv[QUOTA_LIMIT_FILE].ufsqe_hardlimit;
+ &qv[QUOTA_LIMIT_FILE].qv_hardlimit;
errno = proptoquota64(data, values,
ufs_quota_entry_names, UFS_QUOTA_NENTRIES,
Index: src/usr.bin/quota/getvfsquota.h
diff -u src/usr.bin/quota/getvfsquota.h:1.4 src/usr.bin/quota/getvfsquota.h:1.5
--- src/usr.bin/quota/getvfsquota.h:1.4 Thu Mar 24 17:05:46 2011
+++ src/usr.bin/quota/getvfsquota.h Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: getvfsquota.h,v 1.4 2011/03/24 17:05:46 bouyer Exp $ */
+/* $NetBSD: getvfsquota.h,v 1.5 2011/11/25 16:55:05 dholland Exp $ */
-int getvfsquota(const char *, struct ufs_quota_entry *, int8_t *,
+int getvfsquota(const char *, struct quotaval *, int8_t *,
uint32_t, int, int, int);
Index: src/usr.bin/quota/quota.c
diff -u src/usr.bin/quota/quota.c:1.37 src/usr.bin/quota/quota.c:1.38
--- src/usr.bin/quota/quota.c:1.37 Thu Mar 24 17:05:46 2011
+++ src/usr.bin/quota/quota.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: quota.c,v 1.37 2011/03/24 17:05:46 bouyer Exp $ */
+/* $NetBSD: quota.c,v 1.38 2011/11/25 16:55:05 dholland Exp $ */
/*
* Copyright (c) 1980, 1990, 1993
@@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
#if 0
static char sccsid[] = "@(#)quota.c 8.4 (Berkeley) 4/28/95";
#else
-__RCSID("$NetBSD: quota.c,v 1.37 2011/03/24 17:05:46 bouyer Exp $");
+__RCSID("$NetBSD: quota.c,v 1.38 2011/11/25 16:55:05 dholland Exp $");
#endif
#endif /* not lint */
@@ -79,7 +79,7 @@ struct quotause {
struct quotause *next;
long flags;
uid_t id;
- struct ufs_quota_entry qe[QUOTA_NLIMITS];
+ struct quotaval qv[QUOTA_NLIMITS];
char fsname[MAXPATHLEN + 1];
};
#define FOUND 0x01
@@ -328,17 +328,17 @@ showquotas(int type, uint32_t id, const
quplist = getprivs(id, type);
for (qup = quplist; qup; qup = qup->next) {
int ql_stat;
- struct ufs_quota_entry *q = qup->qe;
+ struct quotaval *q = qup->qv;
if (!vflag &&
- q[QUOTA_LIMIT_BLOCK].ufsqe_softlimit == UQUAD_MAX &&
- q[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit == UQUAD_MAX &&
- q[QUOTA_LIMIT_FILE].ufsqe_softlimit == UQUAD_MAX &&
- q[QUOTA_LIMIT_FILE].ufsqe_hardlimit == UQUAD_MAX)
+ q[QUOTA_LIMIT_BLOCK].qv_softlimit == UQUAD_MAX &&
+ q[QUOTA_LIMIT_BLOCK].qv_hardlimit == UQUAD_MAX &&
+ q[QUOTA_LIMIT_FILE].qv_softlimit == UQUAD_MAX &&
+ q[QUOTA_LIMIT_FILE].qv_hardlimit == UQUAD_MAX)
continue;
- ql_stat = quota_check_limit(q[QUOTA_LIMIT_FILE].ufsqe_cur, 1,
- q[QUOTA_LIMIT_FILE].ufsqe_softlimit,
- q[QUOTA_LIMIT_FILE].ufsqe_hardlimit,
- q[QUOTA_LIMIT_FILE].ufsqe_time, now);
+ ql_stat = quota_check_limit(q[QUOTA_LIMIT_FILE].qv_usage, 1,
+ q[QUOTA_LIMIT_FILE].qv_softlimit,
+ q[QUOTA_LIMIT_FILE].qv_hardlimit,
+ q[QUOTA_LIMIT_FILE].qv_expiretime, now);
switch(QL_STATUS(ql_stat)) {
case QL_S_DENY_HARD:
msgi = "File limit reached on";
@@ -352,10 +352,10 @@ showquotas(int type, uint32_t id, const
default:
msgi = NULL;
}
- ql_stat = quota_check_limit(q[QUOTA_LIMIT_BLOCK].ufsqe_cur, 1,
- q[QUOTA_LIMIT_BLOCK].ufsqe_softlimit,
- q[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit,
- q[QUOTA_LIMIT_BLOCK].ufsqe_time, now);
+ ql_stat = quota_check_limit(q[QUOTA_LIMIT_BLOCK].qv_usage, 1,
+ q[QUOTA_LIMIT_BLOCK].qv_softlimit,
+ q[QUOTA_LIMIT_BLOCK].qv_hardlimit,
+ q[QUOTA_LIMIT_BLOCK].qv_expiretime, now);
switch(QL_STATUS(ql_stat)) {
case QL_S_DENY_HARD:
msgb = "Block limit reached on";
@@ -380,8 +380,8 @@ showquotas(int type, uint32_t id, const
continue;
}
if (vflag || dflag || msgi || msgb ||
- q[QUOTA_LIMIT_BLOCK].ufsqe_cur ||
- q[QUOTA_LIMIT_FILE].ufsqe_cur) {
+ q[QUOTA_LIMIT_BLOCK].qv_usage ||
+ q[QUOTA_LIMIT_FILE].qv_usage) {
if (lines++ == 0)
heading(type, id, name, "");
nam = qup->fsname;
@@ -391,40 +391,40 @@ showquotas(int type, uint32_t id, const
}
if (msgb)
timemsg = timeprt(b0, 9, now,
- q[QUOTA_LIMIT_BLOCK].ufsqe_time);
+ q[QUOTA_LIMIT_BLOCK].qv_expiretime);
else if ((qup->flags & QUOTA2) != 0 && vflag)
timemsg = timeprt(b0, 9, 0,
- q[QUOTA_LIMIT_BLOCK].ufsqe_grace);
+ q[QUOTA_LIMIT_BLOCK].qv_grace);
else
timemsg = "";
printf("%12s%9s%c%8s%9s%8s",
nam,
- intprt(b1, 9, q[QUOTA_LIMIT_BLOCK].ufsqe_cur,
+ intprt(b1, 9, q[QUOTA_LIMIT_BLOCK].qv_usage,
HN_B, hflag),
(msgb == NULL) ? ' ' : '*',
- intprt(b2, 9, q[QUOTA_LIMIT_BLOCK].ufsqe_softlimit,
+ intprt(b2, 9, q[QUOTA_LIMIT_BLOCK].qv_softlimit,
HN_B, hflag),
- intprt(b3, 9, q[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit,
+ intprt(b3, 9, q[QUOTA_LIMIT_BLOCK].qv_hardlimit,
HN_B, hflag),
timemsg);
if (msgi)
timemsg = timeprt(b0, 9, now,
- q[QUOTA_LIMIT_FILE].ufsqe_time);
+ q[QUOTA_LIMIT_FILE].qv_expiretime);
else if ((qup->flags & QUOTA2) != 0 && vflag)
timemsg = timeprt(b0, 9, 0,
- q[QUOTA_LIMIT_FILE].ufsqe_grace);
+ q[QUOTA_LIMIT_FILE].qv_grace);
else
timemsg = "";
printf("%8s%c%7s%8s%8s\n",
- intprt(b1, 8, q[QUOTA_LIMIT_FILE].ufsqe_cur, 0,
+ intprt(b1, 8, q[QUOTA_LIMIT_FILE].qv_usage, 0,
hflag),
(msgi == NULL) ? ' ' : '*',
- intprt(b2, 8, q[QUOTA_LIMIT_FILE].ufsqe_softlimit,
+ intprt(b2, 8, q[QUOTA_LIMIT_FILE].qv_softlimit,
0, hflag),
- intprt(b3, 8, q[QUOTA_LIMIT_FILE].ufsqe_hardlimit,
+ intprt(b3, 8, q[QUOTA_LIMIT_FILE].qv_hardlimit,
0, hflag),
timemsg);
continue;
@@ -486,10 +486,10 @@ getprivs(uint32_t id, int quotatype)
sizeof(fst[i].f_fstypename)) == 0) {
version = 0;
if (getnfsquota(fst[i].f_mntfromname,
- qup->qe, id, ufs_quota_class_names[quotatype]) != 1)
+ qup->qv, id, ufs_quota_class_names[quotatype]) != 1)
continue;
} else if ((fst[i].f_flag & ST_QUOTA) != 0) {
- if (getvfsquota(fst[i].f_mntonname, qup->qe, &version,
+ if (getvfsquota(fst[i].f_mntonname, qup->qv, &version,
id, quotatype, dflag, Dflag) != 1)
continue;
} else
Index: src/usr.sbin/edquota/edquota.c
diff -u src/usr.sbin/edquota/edquota.c:1.38 src/usr.sbin/edquota/edquota.c:1.39
--- src/usr.sbin/edquota/edquota.c:1.38 Sun Nov 13 15:42:35 2011
+++ src/usr.sbin/edquota/edquota.c Fri Nov 25 16:55:05 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: edquota.c,v 1.38 2011/11/13 15:42:35 dholland Exp $ */
+/* $NetBSD: edquota.c,v 1.39 2011/11/25 16:55:05 dholland Exp $ */
/*
* Copyright (c) 1980, 1990, 1993
* The Regents of the University of California. All rights reserved.
@@ -41,7 +41,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
#if 0
static char sccsid[] = "from: @(#)edquota.c 8.3 (Berkeley) 4/27/95";
#else
-__RCSID("$NetBSD: edquota.c,v 1.38 2011/11/13 15:42:35 dholland Exp $");
+__RCSID("$NetBSD: edquota.c,v 1.39 2011/11/25 16:55:05 dholland Exp $");
#endif
#endif /* not lint */
@@ -93,7 +93,7 @@ static const char *quotagroup = QUOTAGRO
struct quotause {
struct quotause *next;
long flags;
- struct ufs_quota_entry qe[QUOTA_NLIMITS];
+ struct quotaval qv[QUOTA_NLIMITS];
char fsname[MAXPATHLEN + 1];
char *qfname;
};
@@ -165,7 +165,7 @@ quotause_create(void)
qup->next = NULL;
qup->flags = 0;
- memset(qup->qe, 0, sizeof(qup->qe));
+ memset(qup->qv, 0, sizeof(qup->qv));
qup->fsname[0] = '\0';
qup->qfname = NULL;
@@ -248,7 +248,7 @@ putprivs1(uint32_t id, int quotaclass, s
struct dqblk dqblk;
int fd;
- ufsqe2dqblk(qup->qe, &dqblk);
+ quotaval_to_dqblk(qup->qv, &dqblk);
assert((qup->flags & DEFAULT) == 0);
if ((fd = open(qup->qfname, O_WRONLY)) < 0) {
@@ -326,7 +326,7 @@ getprivs1(long id, int quotaclass, const
close(fd);
qup->qfname = qfpathname;
endfsent();
- dqblk2ufsqe(&dqblk, qup->qe);
+ dqblk_to_quotaval(&dqblk, qup->qv);
return qup;
}
@@ -343,10 +343,10 @@ getprivs2(long id, int quotaclass, const
strcpy(qup->fsname, filesys);
if (defaultq)
qup->flags |= DEFAULT;
- if (!getvfsquota(filesys, qup->qe, &version,
+ if (!getvfsquota(filesys, qup->qv, &version,
id, quotaclass, defaultq, Dflag)) {
/* no entry, get default entry */
- if (!getvfsquota(filesys, qup->qe, &version,
+ if (!getvfsquota(filesys, qup->qv, &version,
id, quotaclass, 1, Dflag)) {
free(qup);
return NULL;
@@ -368,9 +368,9 @@ putprivs2(uint32_t id, int quotaclass, s
uint64_t *valuesp[QUOTA_NLIMITS];
valuesp[QL_BLK] =
- &qup->qe[QL_BLK].ufsqe_hardlimit;
+ &qup->qv[QL_BLK].qv_hardlimit;
valuesp[QL_FL] =
- &qup->qe[QL_FL].ufsqe_hardlimit;
+ &qup->qv[QL_FL].qv_hardlimit;
data = quota64toprop(id, (qup->flags & DEFAULT) ? 1 : 0,
valuesp, ufs_quota_entry_names, UFS_QUOTA_NENTRIES,
@@ -689,17 +689,17 @@ writeprivs(struct quotalist *qlist, int
ufs_quota_class_names[quotaclass], name);
}
for (qup = qlist->head; qup; qup = qup->next) {
- struct ufs_quota_entry *q = qup->qe;
+ struct quotaval *q = qup->qv;
fprintf(fd, "%s (version %d):\n",
qup->fsname, (qup->flags & QUOTA2) ? 2 : 1);
if ((qup->flags & DEFAULT) == 0 || (qup->flags & QUOTA2) != 0) {
fprintf(fd, "\tblocks in use: %s, "
"limits (soft = %s, hard = %s",
- intprt(b1, 21, q[QL_BLK].ufsqe_cur,
+ intprt(b1, 21, q[QL_BLK].qv_usage,
HN_NOSPACE | HN_B, Hflag),
- intprt(b2, 21, q[QL_BLK].ufsqe_softlimit,
+ intprt(b2, 21, q[QL_BLK].qv_softlimit,
HN_NOSPACE | HN_B, Hflag),
- intprt(b3, 21, q[QL_BLK].ufsqe_hardlimit,
+ intprt(b3, 21, q[QL_BLK].qv_hardlimit,
HN_NOSPACE | HN_B, Hflag));
if (qup->flags & QUOTA2)
fprintf(fd, ", ");
@@ -708,17 +708,17 @@ writeprivs(struct quotalist *qlist, int
if (qup->flags & (QUOTA2|DEFAULT)) {
fprintf(fd, "grace = %s",
- timepprt(b0, 21, q[QL_BLK].ufsqe_grace, Hflag));
+ timepprt(b0, 21, q[QL_BLK].qv_grace, Hflag));
}
fprintf(fd, ")\n");
if ((qup->flags & DEFAULT) == 0 || (qup->flags & QUOTA2) != 0) {
fprintf(fd, "\tinodes in use: %s, "
"limits (soft = %s, hard = %s",
- intprt(b1, 21, q[QL_FL].ufsqe_cur,
+ intprt(b1, 21, q[QL_FL].qv_usage,
HN_NOSPACE, Hflag),
- intprt(b2, 21, q[QL_FL].ufsqe_softlimit,
+ intprt(b2, 21, q[QL_FL].qv_softlimit,
HN_NOSPACE, Hflag),
- intprt(b3, 21, q[QL_FL].ufsqe_hardlimit,
+ intprt(b3, 21, q[QL_FL].qv_hardlimit,
HN_NOSPACE, Hflag));
if (qup->flags & QUOTA2)
fprintf(fd, ", ");
@@ -727,7 +727,7 @@ writeprivs(struct quotalist *qlist, int
if (qup->flags & (QUOTA2|DEFAULT)) {
fprintf(fd, "grace = %s",
- timepprt(b0, 21, q[QL_FL].ufsqe_grace, Hflag));
+ timepprt(b0, 21, q[QL_FL].qv_grace, Hflag));
}
fprintf(fd, ")\n");
}
@@ -907,21 +907,21 @@ readprivs(struct quotalist *qlist, int i
}
}
for (qup = qlist->head; qup; qup = qup->next) {
- struct ufs_quota_entry *q = qup->qe;
+ struct quotaval *q = qup->qv;
char b1[32], b2[32];
if (strcmp(fsp, qup->fsname))
continue;
if (version == 1 && dflag) {
- q[QL_BLK].ufsqe_grace = graceb;
- q[QL_FL].ufsqe_grace = gracei;
+ q[QL_BLK].qv_grace = graceb;
+ q[QL_FL].qv_grace = gracei;
qup->flags |= FOUND;
continue;
}
- if (strcmp(intprt(b1, 21, q[QL_BLK].ufsqe_cur,
+ if (strcmp(intprt(b1, 21, q[QL_BLK].qv_usage,
HN_NOSPACE | HN_B, Hflag),
scurb) != 0 ||
- strcmp(intprt(b2, 21, q[QL_FL].ufsqe_cur,
+ strcmp(intprt(b2, 21, q[QL_FL].qv_usage,
HN_NOSPACE, Hflag),
scuri) != 0) {
warnx("%s: cannot change current allocation",
@@ -934,24 +934,24 @@ readprivs(struct quotalist *qlist, int i
* or were under it, but now have a soft limit
* and are over it.
*/
- if (q[QL_BLK].ufsqe_cur &&
- q[QL_BLK].ufsqe_cur >= softb &&
- (q[QL_BLK].ufsqe_softlimit == 0 ||
- q[QL_BLK].ufsqe_cur < q[QL_BLK].ufsqe_softlimit))
- q[QL_BLK].ufsqe_time = 0;
- if (q[QL_FL].ufsqe_cur &&
- q[QL_FL].ufsqe_cur >= softi &&
- (q[QL_FL].ufsqe_softlimit == 0 ||
- q[QL_FL].ufsqe_cur < q[QL_FL].ufsqe_softlimit))
- q[QL_FL].ufsqe_time = 0;
- q[QL_BLK].ufsqe_softlimit = softb;
- q[QL_BLK].ufsqe_hardlimit = hardb;
+ if (q[QL_BLK].qv_usage &&
+ q[QL_BLK].qv_usage >= softb &&
+ (q[QL_BLK].qv_softlimit == 0 ||
+ q[QL_BLK].qv_usage < q[QL_BLK].qv_softlimit))
+ q[QL_BLK].qv_expiretime = 0;
+ if (q[QL_FL].qv_usage &&
+ q[QL_FL].qv_usage >= softi &&
+ (q[QL_FL].qv_softlimit == 0 ||
+ q[QL_FL].qv_usage < q[QL_FL].qv_softlimit))
+ q[QL_FL].qv_expiretime = 0;
+ q[QL_BLK].qv_softlimit = softb;
+ q[QL_BLK].qv_hardlimit = hardb;
if (version == 2)
- q[QL_BLK].ufsqe_grace = graceb;
- q[QL_FL].ufsqe_softlimit = softi;
- q[QL_FL].ufsqe_hardlimit = hardi;
+ q[QL_BLK].qv_grace = graceb;
+ q[QL_FL].qv_softlimit = softi;
+ q[QL_FL].qv_hardlimit = hardi;
if (version == 2)
- q[QL_FL].ufsqe_grace = gracei;
+ q[QL_FL].qv_grace = gracei;
qup->flags |= FOUND;
}
}
@@ -961,17 +961,17 @@ out:
* Disable quotas for any filesystems that have not been found.
*/
for (qup = qlist->head; qup; qup = qup->next) {
- struct ufs_quota_entry *q = qup->qe;
+ struct quotaval *q = qup->qv;
if (qup->flags & FOUND) {
qup->flags &= ~FOUND;
continue;
}
- q[QL_BLK].ufsqe_softlimit = UQUAD_MAX;
- q[QL_BLK].ufsqe_hardlimit = UQUAD_MAX;
- q[QL_BLK].ufsqe_grace = 0;
- q[QL_FL].ufsqe_softlimit = UQUAD_MAX;
- q[QL_FL].ufsqe_hardlimit = UQUAD_MAX;
- q[QL_FL].ufsqe_grace = 0;
+ q[QL_BLK].qv_softlimit = UQUAD_MAX;
+ q[QL_BLK].qv_hardlimit = UQUAD_MAX;
+ q[QL_BLK].qv_grace = 0;
+ q[QL_FL].qv_softlimit = UQUAD_MAX;
+ q[QL_FL].qv_hardlimit = UQUAD_MAX;
+ q[QL_FL].qv_grace = 0;
}
return 1;
}
@@ -992,8 +992,8 @@ replicate(const char *fs, int quotaclass
exit(1);
protoprivs = getprivs(protoid, 0, quotaclass, fs);
for (qup = protoprivs->head; qup; qup = qup->next) {
- qup->qe[QL_BLK].ufsqe_time = 0;
- qup->qe[QL_FL].ufsqe_time = 0;
+ qup->qv[QL_BLK].qv_expiretime = 0;
+ qup->qv[QL_FL].qv_expiretime = 0;
}
for (i=0; i<numnames; i++) {
id = getidbyname(names[i], quotaclass);
@@ -1062,30 +1062,30 @@ assign(const char *fs, int quotaclass,
curprivs = getprivs(id, dflag, quotaclass, fs);
for (lqup = curprivs->head; lqup; lqup = lqup->next) {
- struct ufs_quota_entry *q = lqup->qe;
+ struct quotaval *q = lqup->qv;
if (soft) {
if (!dflag && softb &&
- q[QL_BLK].ufsqe_cur >= softb &&
- (q[QL_BLK].ufsqe_softlimit == 0 ||
- q[QL_BLK].ufsqe_cur <
- q[QL_BLK].ufsqe_softlimit))
- q[QL_BLK].ufsqe_time = 0;
+ q[QL_BLK].qv_usage >= softb &&
+ (q[QL_BLK].qv_softlimit == 0 ||
+ q[QL_BLK].qv_usage <
+ q[QL_BLK].qv_softlimit))
+ q[QL_BLK].qv_expiretime = 0;
if (!dflag && softi &&
- q[QL_FL].ufsqe_cur >= softb &&
- (q[QL_FL].ufsqe_softlimit == 0 ||
- q[QL_FL].ufsqe_cur <
- q[QL_FL].ufsqe_softlimit))
- q[QL_FL].ufsqe_time = 0;
- q[QL_BLK].ufsqe_softlimit = softb;
- q[QL_FL].ufsqe_softlimit = softi;
+ q[QL_FL].qv_usage >= softb &&
+ (q[QL_FL].qv_softlimit == 0 ||
+ q[QL_FL].qv_usage <
+ q[QL_FL].qv_softlimit))
+ q[QL_FL].qv_expiretime = 0;
+ q[QL_BLK].qv_softlimit = softb;
+ q[QL_FL].qv_softlimit = softi;
}
if (hard) {
- q[QL_BLK].ufsqe_hardlimit = hardb;
- q[QL_FL].ufsqe_hardlimit = hardi;
+ q[QL_BLK].qv_hardlimit = hardb;
+ q[QL_FL].qv_hardlimit = hardi;
}
if (grace) {
- q[QL_BLK].ufsqe_grace = graceb;
- q[QL_FL].ufsqe_grace = gracei;
+ q[QL_BLK].qv_grace = graceb;
+ q[QL_FL].qv_grace = gracei;
}
}
putprivs(id, quotaclass, curprivs);
Index: src/usr.sbin/repquota/repquota.c
diff -u src/usr.sbin/repquota/repquota.c:1.32 src/usr.sbin/repquota/repquota.c:1.33
--- src/usr.sbin/repquota/repquota.c:1.32 Fri Sep 30 22:08:20 2011
+++ src/usr.sbin/repquota/repquota.c Fri Nov 25 16:55:06 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: repquota.c,v 1.32 2011/09/30 22:08:20 jym Exp $ */
+/* $NetBSD: repquota.c,v 1.33 2011/11/25 16:55:06 dholland Exp $ */
/*
* Copyright (c) 1980, 1990, 1993
@@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 19
#if 0
static char sccsid[] = "@(#)repquota.c 8.2 (Berkeley) 11/22/94";
#else
-__RCSID("$NetBSD: repquota.c,v 1.32 2011/09/30 22:08:20 jym Exp $");
+__RCSID("$NetBSD: repquota.c,v 1.33 2011/11/25 16:55:06 dholland Exp $");
#endif
#endif /* not lint */
@@ -74,7 +74,7 @@ __RCSID("$NetBSD: repquota.c,v 1.32 2011
struct fileusage {
struct fileusage *fu_next;
- struct ufs_quota_entry fu_qe[QUOTA_NLIMITS];
+ struct quotaval fu_qv[QUOTA_NLIMITS];
uint32_t fu_id;
char fu_name[1];
/* actually bigger */
@@ -83,7 +83,7 @@ struct fileusage {
static struct fileusage *fuhead[QUOTA_NCLASS][FUHASH];
static uint32_t highid[QUOTA_NCLASS]; /* highest addid()'ed identifier per class */
int valid[QUOTA_NCLASS];
-static struct ufs_quota_entry defaultqe[QUOTA_NCLASS][QUOTA_NLIMITS];
+static struct quotaval defaultqv[QUOTA_NCLASS][QUOTA_NLIMITS];
static int vflag = 0; /* verbose */
static int aflag = 0; /* all file systems */
@@ -206,7 +206,7 @@ repquota2(const struct statvfs *vfs, int
struct plistref pref;
int8_t error8, version = 0;
prop_object_iterator_t cmditer, dataiter;
- struct ufs_quota_entry *qep;
+ struct quotaval *qvp;
struct fileusage *fup;
const char *strid;
uint32_t id;
@@ -297,16 +297,16 @@ repquota2(const struct statvfs *vfs, int
"wrong id string %s in quota entry",
strid);
}
- qep = defaultqe[class];
+ qvp = defaultqv[class];
} else {
if ((fup = lookup(id, class)) == 0)
fup = addid(id, class, (char *)0);
- qep = fup->fu_qe;
+ qvp = fup->fu_qv;
}
values[QUOTA_LIMIT_BLOCK] =
- &qep[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit;
+ &qvp[QUOTA_LIMIT_BLOCK].qv_hardlimit;
values[QUOTA_LIMIT_FILE] =
- &qep[QUOTA_LIMIT_FILE].ufsqe_hardlimit;
+ &qvp[QUOTA_LIMIT_FILE].qv_hardlimit;
errno = proptoquota64(data, values,
ufs_quota_entry_names, UFS_QUOTA_NENTRIES,
@@ -369,16 +369,16 @@ repquota1(const struct statvfs *vfs, int
continue;
if ((fup = lookup(id, class)) == 0)
fup = addid(id, class, (char *)0);
- dqblk2ufsqe(&dqbuf, fup->fu_qe);
- fup->fu_qe[QUOTA_LIMIT_BLOCK].ufsqe_grace = bgrace;
- fup->fu_qe[QUOTA_LIMIT_FILE].ufsqe_grace = igrace;
- }
- defaultqe[class][QUOTA_LIMIT_BLOCK].ufsqe_grace = bgrace;
- defaultqe[class][QUOTA_LIMIT_FILE].ufsqe_grace = igrace;
- defaultqe[class][QUOTA_LIMIT_BLOCK].ufsqe_softlimit =
- defaultqe[class][QUOTA_LIMIT_BLOCK].ufsqe_hardlimit =
- defaultqe[class][QUOTA_LIMIT_FILE].ufsqe_softlimit =
- defaultqe[class][QUOTA_LIMIT_FILE].ufsqe_hardlimit = UQUAD_MAX;
+ dqblk_to_quotaval(&dqbuf, fup->fu_qv);
+ fup->fu_qv[QUOTA_LIMIT_BLOCK].qv_grace = bgrace;
+ fup->fu_qv[QUOTA_LIMIT_FILE].qv_grace = igrace;
+ }
+ defaultqv[class][QUOTA_LIMIT_BLOCK].qv_grace = bgrace;
+ defaultqv[class][QUOTA_LIMIT_FILE].qv_grace = igrace;
+ defaultqv[class][QUOTA_LIMIT_BLOCK].qv_softlimit =
+ defaultqv[class][QUOTA_LIMIT_BLOCK].qv_hardlimit =
+ defaultqv[class][QUOTA_LIMIT_FILE].qv_softlimit =
+ defaultqv[class][QUOTA_LIMIT_FILE].qv_hardlimit = UQUAD_MAX;
fclose(qf);
valid[class] = 1;
if (xflag == 0)
@@ -393,7 +393,7 @@ printquotas(int class, const struct stat
uint32_t id;
int i;
struct fileusage *fup;
- struct ufs_quota_entry *q;
+ struct quotaval *q;
const char *timemsg[QUOTA_NLIMITS];
char overchar[QUOTA_NLIMITS];
time_t now;
@@ -437,30 +437,30 @@ printquotas(int class, const struct stat
"soft hard grace\n");
for (id = 0; id <= highid[class]; id++) {
fup = qremove(id, class);
- q = fup->fu_qe;
+ q = fup->fu_qv;
if (fup == 0)
continue;
for (i = 0; i < QUOTA_NLIMITS; i++) {
- switch (QL_STATUS(quota_check_limit(q[i].ufsqe_cur, 1,
- q[i].ufsqe_softlimit, q[i].ufsqe_hardlimit,
- q[i].ufsqe_time, now))) {
+ switch (QL_STATUS(quota_check_limit(q[i].qv_usage, 1,
+ q[i].qv_softlimit, q[i].qv_hardlimit,
+ q[i].qv_expiretime, now))) {
case QL_S_DENY_HARD:
case QL_S_DENY_GRACE:
case QL_S_ALLOW_SOFT:
timemsg[i] = timeprt(b0[i], 8, now,
- q[i].ufsqe_time);
+ q[i].qv_expiretime);
overchar[i] = '+';
break;
default:
timemsg[i] = (vflag && version == 2) ?
- timeprt(b0[i], 8, 0, q[i].ufsqe_grace) : "";
+ timeprt(b0[i], 8, 0, q[i].qv_grace) : "";
overchar[i] = '-';
break;
}
}
- if (q[QUOTA_LIMIT_BLOCK].ufsqe_cur == 0 &&
- q[QUOTA_LIMIT_FILE].ufsqe_cur == 0 && vflag == 0 &&
+ if (q[QUOTA_LIMIT_BLOCK].qv_usage == 0 &&
+ q[QUOTA_LIMIT_FILE].qv_usage == 0 && vflag == 0 &&
overchar[QUOTA_LIMIT_BLOCK] == '-' &&
overchar[QUOTA_LIMIT_FILE] == '-')
continue;
@@ -470,18 +470,18 @@ printquotas(int class, const struct stat
printf("%-10s", fup->fu_name);
printf("%c%c%9s%9s%9s%7s",
overchar[QUOTA_LIMIT_BLOCK], overchar[QUOTA_LIMIT_FILE],
- intprt(b1, 10, q[QUOTA_LIMIT_BLOCK].ufsqe_cur,
+ intprt(b1, 10, q[QUOTA_LIMIT_BLOCK].qv_usage,
HN_B, hflag),
- intprt(b2, 10, q[QUOTA_LIMIT_BLOCK].ufsqe_softlimit,
+ intprt(b2, 10, q[QUOTA_LIMIT_BLOCK].qv_softlimit,
HN_B, hflag),
- intprt(b3, 10, q[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit,
+ intprt(b3, 10, q[QUOTA_LIMIT_BLOCK].qv_hardlimit,
HN_B, hflag),
timemsg[QUOTA_LIMIT_BLOCK]);
printf(" %8s%8s%8s%7s\n",
- intprt(b1, 9, q[QUOTA_LIMIT_FILE].ufsqe_cur, 0, hflag),
- intprt(b2, 9, q[QUOTA_LIMIT_FILE].ufsqe_softlimit,
+ intprt(b1, 9, q[QUOTA_LIMIT_FILE].qv_usage, 0, hflag),
+ intprt(b2, 9, q[QUOTA_LIMIT_FILE].qv_softlimit,
0, hflag),
- intprt(b3, 9, q[QUOTA_LIMIT_FILE].ufsqe_hardlimit,
+ intprt(b3, 9, q[QUOTA_LIMIT_FILE].qv_hardlimit,
0, hflag),
timemsg[QUOTA_LIMIT_FILE]);
free(fup);
@@ -513,9 +513,9 @@ exportquotas(void)
if (datas == NULL)
errx(1, "can't allocate proplist");
valuesp[QUOTA_LIMIT_BLOCK] =
- &defaultqe[class][QUOTA_LIMIT_BLOCK].ufsqe_hardlimit;
+ &defaultqv[class][QUOTA_LIMIT_BLOCK].qv_hardlimit;
valuesp[QUOTA_LIMIT_FILE] =
- &defaultqe[class][QUOTA_LIMIT_FILE].ufsqe_hardlimit;
+ &defaultqv[class][QUOTA_LIMIT_FILE].qv_hardlimit;
data = quota64toprop(0, 1, valuesp,
ufs_quota_entry_names, UFS_QUOTA_NENTRIES,
ufs_quota_limit_names, QUOTA_NLIMITS);
@@ -529,9 +529,9 @@ exportquotas(void)
if (fup == 0)
continue;
valuesp[QUOTA_LIMIT_BLOCK] =
- &fup->fu_qe[QUOTA_LIMIT_BLOCK].ufsqe_hardlimit;
+ &fup->fu_qv[QUOTA_LIMIT_BLOCK].qv_hardlimit;
valuesp[QUOTA_LIMIT_FILE] =
- &fup->fu_qe[QUOTA_LIMIT_FILE].ufsqe_hardlimit;
+ &fup->fu_qv[QUOTA_LIMIT_FILE].qv_hardlimit;
data = quota64toprop(id, 0, valuesp,
ufs_quota_entry_names, UFS_QUOTA_NENTRIES,
ufs_quota_limit_names, QUOTA_NLIMITS);
@@ -637,7 +637,7 @@ addid(uint32_t id, int class, const char
} else {
snprintf(fup->fu_name, len + 1, "%u", id);
}
- fup->fu_qe[QUOTA_LIMIT_BLOCK] = defaultqe[class][QUOTA_LIMIT_BLOCK];
- fup->fu_qe[QUOTA_LIMIT_FILE] = defaultqe[class][QUOTA_LIMIT_FILE];
+ fup->fu_qv[QUOTA_LIMIT_BLOCK] = defaultqv[class][QUOTA_LIMIT_BLOCK];
+ fup->fu_qv[QUOTA_LIMIT_FILE] = defaultqv[class][QUOTA_LIMIT_FILE];
return fup;
}