Linux 6.13-rc4
[linux.git] / fs / bcachefs / quota_format.h
blobdc34347ef6c74a9933bb069915b8902cfdb190a2
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_QUOTA_FORMAT_H
3 #define _BCACHEFS_QUOTA_FORMAT_H
5 /* KEY_TYPE_quota: */
7 enum quota_types {
8 QTYP_USR = 0,
9 QTYP_GRP = 1,
10 QTYP_PRJ = 2,
11 QTYP_NR = 3,
14 enum quota_counters {
15 Q_SPC = 0,
16 Q_INO = 1,
17 Q_COUNTERS = 2,
20 struct bch_quota_counter {
21 __le64 hardlimit;
22 __le64 softlimit;
25 struct bch_quota {
26 struct bch_val v;
27 struct bch_quota_counter c[Q_COUNTERS];
28 } __packed __aligned(8);
30 /* BCH_SB_FIELD_quota: */
32 struct bch_sb_quota_counter {
33 __le32 timelimit;
34 __le32 warnlimit;
37 struct bch_sb_quota_type {
38 __le64 flags;
39 struct bch_sb_quota_counter c[Q_COUNTERS];
42 struct bch_sb_field_quota {
43 struct bch_sb_field field;
44 struct bch_sb_quota_type q[QTYP_NR];
45 } __packed __aligned(8);
47 #endif /* _BCACHEFS_QUOTA_FORMAT_H */