48 lines
824 B
C
48 lines
824 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _BCACHEFS_QUOTA_FORMAT_H
|
|
#define _BCACHEFS_QUOTA_FORMAT_H
|
|
|
|
/* KEY_TYPE_quota: */
|
|
|
|
enum quota_types {
|
|
QTYP_USR = 0,
|
|
QTYP_GRP = 1,
|
|
QTYP_PRJ = 2,
|
|
QTYP_NR = 3,
|
|
};
|
|
|
|
enum quota_counters {
|
|
Q_SPC = 0,
|
|
Q_INO = 1,
|
|
Q_COUNTERS = 2,
|
|
};
|
|
|
|
struct bch_quota_counter {
|
|
__le64 hardlimit;
|
|
__le64 softlimit;
|
|
};
|
|
|
|
struct bch_quota {
|
|
struct bch_val v;
|
|
struct bch_quota_counter c[Q_COUNTERS];
|
|
} __packed __aligned(8);
|
|
|
|
/* BCH_SB_FIELD_quota: */
|
|
|
|
struct bch_sb_quota_counter {
|
|
__le32 timelimit;
|
|
__le32 warnlimit;
|
|
};
|
|
|
|
struct bch_sb_quota_type {
|
|
__le64 flags;
|
|
struct bch_sb_quota_counter c[Q_COUNTERS];
|
|
};
|
|
|
|
struct bch_sb_field_quota {
|
|
struct bch_sb_field field;
|
|
struct bch_sb_quota_type q[QTYP_NR];
|
|
} __packed __aligned(8);
|
|
|
|
#endif /* _BCACHEFS_QUOTA_FORMAT_H */
|