.. | .. |
---|
18 | 18 | typedef uint64_t xfs_qcnt_t; |
---|
19 | 19 | typedef uint16_t xfs_qwarncnt_t; |
---|
20 | 20 | |
---|
| 21 | +typedef uint8_t xfs_dqtype_t; |
---|
| 22 | + |
---|
| 23 | +#define XFS_DQTYPE_STRINGS \ |
---|
| 24 | + { XFS_DQTYPE_USER, "USER" }, \ |
---|
| 25 | + { XFS_DQTYPE_PROJ, "PROJ" }, \ |
---|
| 26 | + { XFS_DQTYPE_GROUP, "GROUP" }, \ |
---|
| 27 | + { XFS_DQTYPE_BIGTIME, "BIGTIME" } |
---|
| 28 | + |
---|
21 | 29 | /* |
---|
22 | 30 | * flags for q_flags field in the dquot. |
---|
23 | 31 | */ |
---|
24 | | -#define XFS_DQ_USER 0x0001 /* a user quota */ |
---|
25 | | -#define XFS_DQ_PROJ 0x0002 /* project quota */ |
---|
26 | | -#define XFS_DQ_GROUP 0x0004 /* a group quota */ |
---|
27 | | -#define XFS_DQ_DIRTY 0x0008 /* dquot is dirty */ |
---|
28 | | -#define XFS_DQ_FREEING 0x0010 /* dquot is being torn down */ |
---|
| 32 | +#define XFS_DQFLAG_DIRTY (1 << 0) /* dquot is dirty */ |
---|
| 33 | +#define XFS_DQFLAG_FREEING (1 << 1) /* dquot is being torn down */ |
---|
29 | 34 | |
---|
30 | | -#define XFS_DQ_ALLTYPES (XFS_DQ_USER|XFS_DQ_PROJ|XFS_DQ_GROUP) |
---|
31 | | - |
---|
32 | | -#define XFS_DQ_FLAGS \ |
---|
33 | | - { XFS_DQ_USER, "USER" }, \ |
---|
34 | | - { XFS_DQ_PROJ, "PROJ" }, \ |
---|
35 | | - { XFS_DQ_GROUP, "GROUP" }, \ |
---|
36 | | - { XFS_DQ_DIRTY, "DIRTY" }, \ |
---|
37 | | - { XFS_DQ_FREEING, "FREEING" } |
---|
| 35 | +#define XFS_DQFLAG_STRINGS \ |
---|
| 36 | + { XFS_DQFLAG_DIRTY, "DIRTY" }, \ |
---|
| 37 | + { XFS_DQFLAG_FREEING, "FREEING" } |
---|
38 | 38 | |
---|
39 | 39 | /* |
---|
40 | 40 | * We have the possibility of all three quota types being active at once, and |
---|
.. | .. |
---|
100 | 100 | #define XFS_QMOPT_FORCE_RES 0x0000010 /* ignore quota limits */ |
---|
101 | 101 | #define XFS_QMOPT_SBVERSION 0x0000040 /* change superblock version num */ |
---|
102 | 102 | #define XFS_QMOPT_GQUOTA 0x0002000 /* group dquot requested */ |
---|
103 | | -#define XFS_QMOPT_ENOSPC 0x0004000 /* enospc instead of edquot (prj) */ |
---|
104 | 103 | |
---|
105 | 104 | /* |
---|
106 | 105 | * flags to xfs_trans_mod_dquot to indicate which field needs to be |
---|
.. | .. |
---|
138 | 137 | #define XFS_QMOPT_RESBLK_MASK (XFS_QMOPT_RES_REGBLKS | XFS_QMOPT_RES_RTBLKS) |
---|
139 | 138 | |
---|
140 | 139 | extern xfs_failaddr_t xfs_dquot_verify(struct xfs_mount *mp, |
---|
141 | | - struct xfs_disk_dquot *ddq, xfs_dqid_t id, uint type); |
---|
| 140 | + struct xfs_disk_dquot *ddq, xfs_dqid_t id); |
---|
142 | 141 | extern xfs_failaddr_t xfs_dqblk_verify(struct xfs_mount *mp, |
---|
143 | | - struct xfs_dqblk *dqb, xfs_dqid_t id, uint type); |
---|
| 142 | + struct xfs_dqblk *dqb, xfs_dqid_t id); |
---|
144 | 143 | extern int xfs_calc_dquots_per_chunk(unsigned int nbblks); |
---|
145 | | -extern int xfs_dqblk_repair(struct xfs_mount *mp, struct xfs_dqblk *dqb, |
---|
146 | | - xfs_dqid_t id, uint type); |
---|
| 144 | +extern void xfs_dqblk_repair(struct xfs_mount *mp, struct xfs_dqblk *dqb, |
---|
| 145 | + xfs_dqid_t id, xfs_dqtype_t type); |
---|
| 146 | + |
---|
| 147 | +struct xfs_dquot; |
---|
| 148 | +time64_t xfs_dquot_from_disk_ts(struct xfs_disk_dquot *ddq, |
---|
| 149 | + __be32 dtimer); |
---|
| 150 | +__be32 xfs_dquot_to_disk_ts(struct xfs_dquot *ddq, time64_t timer); |
---|
147 | 151 | |
---|
148 | 152 | #endif /* __XFS_QUOTA_H__ */ |
---|