Commit | Line | Data |
---|---|---|
1da177e4 | 1 | /* |
4ce3121f NS |
2 | * Copyright (c) 2000-2003 Silicon Graphics, Inc. |
3 | * All Rights Reserved. | |
1da177e4 | 4 | * |
4ce3121f NS |
5 | * This program is free software; you can redistribute it and/or |
6 | * modify it under the terms of the GNU General Public License as | |
1da177e4 LT |
7 | * published by the Free Software Foundation. |
8 | * | |
4ce3121f NS |
9 | * This program is distributed in the hope that it would be useful, |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
1da177e4 | 13 | * |
4ce3121f NS |
14 | * You should have received a copy of the GNU General Public License |
15 | * along with this program; if not, write the Free Software Foundation, | |
16 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
1da177e4 LT |
17 | */ |
18 | #ifndef __XFS_QUOTA_PRIV_H__ | |
19 | #define __XFS_QUOTA_PRIV_H__ | |
20 | ||
21 | /* | |
22 | * Number of bmaps that we ask from bmapi when doing a quotacheck. | |
23 | * We make this restriction to keep the memory usage to a minimum. | |
24 | */ | |
25 | #define XFS_DQITER_MAP_SIZE 10 | |
26 | ||
1da177e4 LT |
27 | #define XFS_DQ_IS_ADDEDTO_TRX(t, d) ((d)->q_transp == (t)) |
28 | ||
1da177e4 LT |
29 | /* |
30 | * Hash into a bucket in the dquot hash table, based on <mp, id>. | |
31 | */ | |
32 | #define XFS_DQ_HASHVAL(mp, id) (((__psunsigned_t)(mp) + \ | |
33 | (__psunsigned_t)(id)) & \ | |
34 | (xfs_Gqm->qm_dqhashmask - 1)) | |
35 | #define XFS_DQ_HASH(mp, id, type) (type == XFS_DQ_USER ? \ | |
36 | (xfs_Gqm->qm_usr_dqhtable + \ | |
37 | XFS_DQ_HASHVAL(mp, id)) : \ | |
38 | (xfs_Gqm->qm_grp_dqhtable + \ | |
39 | XFS_DQ_HASHVAL(mp, id))) | |
40 | #define XFS_IS_DQTYPE_ON(mp, type) (type == XFS_DQ_USER ? \ | |
c8ad20ff NS |
41 | XFS_IS_UQUOTA_ON(mp) : \ |
42 | XFS_IS_OQUOTA_ON(mp)) | |
1da177e4 LT |
43 | #define XFS_IS_DQUOT_UNINITIALIZED(dqp) ( \ |
44 | !dqp->q_core.d_blk_hardlimit && \ | |
45 | !dqp->q_core.d_blk_softlimit && \ | |
46 | !dqp->q_core.d_rtb_hardlimit && \ | |
47 | !dqp->q_core.d_rtb_softlimit && \ | |
48 | !dqp->q_core.d_ino_hardlimit && \ | |
49 | !dqp->q_core.d_ino_softlimit && \ | |
50 | !dqp->q_core.d_bcount && \ | |
51 | !dqp->q_core.d_rtbcount && \ | |
52 | !dqp->q_core.d_icount) | |
53 | ||
1da177e4 LT |
54 | #define XFS_DQ_IS_LOGITEM_INITD(dqp) ((dqp)->q_logitem.qli_dquot == (dqp)) |
55 | ||
56 | #define XFS_QM_DQP_TO_DQACCT(tp, dqp) (XFS_QM_ISUDQ(dqp) ? \ | |
57 | (tp)->t_dqinfo->dqa_usrdquots : \ | |
58 | (tp)->t_dqinfo->dqa_grpdquots) | |
59 | #define XFS_IS_SUSER_DQUOT(dqp) \ | |
60 | (!((dqp)->q_core.d_id)) | |
61 | ||
1da177e4 | 62 | #define DQFLAGTO_TYPESTR(d) (((d)->dq_flags & XFS_DQ_USER) ? "USR" : \ |
c8ad20ff NS |
63 | (((d)->dq_flags & XFS_DQ_GROUP) ? "GRP" : \ |
64 | (((d)->dq_flags & XFS_DQ_PROJ) ? "PRJ":"???"))) | |
1da177e4 LT |
65 | |
66 | #endif /* __XFS_QUOTA_PRIV_H__ */ |