hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/fs/xfs/libxfs/xfs_quota_defs.h
....@@ -18,23 +18,23 @@
1818 typedef uint64_t xfs_qcnt_t;
1919 typedef uint16_t xfs_qwarncnt_t;
2020
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
+
2129 /*
2230 * flags for q_flags field in the dquot.
2331 */
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 */
2934
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" }
3838
3939 /*
4040 * We have the possibility of all three quota types being active at once, and
....@@ -100,7 +100,6 @@
100100 #define XFS_QMOPT_FORCE_RES 0x0000010 /* ignore quota limits */
101101 #define XFS_QMOPT_SBVERSION 0x0000040 /* change superblock version num */
102102 #define XFS_QMOPT_GQUOTA 0x0002000 /* group dquot requested */
103
-#define XFS_QMOPT_ENOSPC 0x0004000 /* enospc instead of edquot (prj) */
104103
105104 /*
106105 * flags to xfs_trans_mod_dquot to indicate which field needs to be
....@@ -138,11 +137,16 @@
138137 #define XFS_QMOPT_RESBLK_MASK (XFS_QMOPT_RES_REGBLKS | XFS_QMOPT_RES_RTBLKS)
139138
140139 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);
142141 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);
144143 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);
147151
148152 #endif /* __XFS_QUOTA_H__ */