#ifndef __XFS_DQUOT_H__
#define __XFS_DQUOT_H__
struct xfs_mount;
struct xfs_trans;
enum { … };
struct xfs_dquot_res { … };
static inline bool
xfs_dquot_res_over_limits(
const struct xfs_dquot_res *qres)
{ … }
struct xfs_dquot { … };
enum { … };
static inline void xfs_dqflock(struct xfs_dquot *dqp)
{ … }
static inline bool xfs_dqflock_nowait(struct xfs_dquot *dqp)
{ … }
static inline void xfs_dqfunlock(struct xfs_dquot *dqp)
{ … }
static inline int xfs_dqlock_nowait(struct xfs_dquot *dqp)
{ … }
static inline void xfs_dqlock(struct xfs_dquot *dqp)
{ … }
static inline void xfs_dqunlock(struct xfs_dquot *dqp)
{ … }
static inline int
xfs_dquot_type(const struct xfs_dquot *dqp)
{ … }
static inline int xfs_this_quota_on(struct xfs_mount *mp, xfs_dqtype_t type)
{ … }
static inline struct xfs_dquot *xfs_inode_dquot(
struct xfs_inode *ip,
xfs_dqtype_t type)
{ … }
static inline bool
xfs_dquot_is_enforced(
const struct xfs_dquot *dqp)
{ … }
static inline bool xfs_dquot_lowsp(struct xfs_dquot *dqp)
{ … }
void xfs_dquot_to_disk(struct xfs_disk_dquot *ddqp, struct xfs_dquot *dqp);
#define XFS_DQ_IS_LOCKED(dqp) …
#define XFS_DQ_IS_DIRTY(dqp) …
void xfs_qm_dqdestroy(struct xfs_dquot *dqp);
int xfs_qm_dqflush(struct xfs_dquot *dqp, struct xfs_buf **bpp);
void xfs_qm_dqunpin_wait(struct xfs_dquot *dqp);
void xfs_qm_adjust_dqtimers(struct xfs_dquot *d);
void xfs_qm_adjust_dqlimits(struct xfs_dquot *d);
xfs_dqid_t xfs_qm_id_for_quotatype(struct xfs_inode *ip,
xfs_dqtype_t type);
int xfs_qm_dqget(struct xfs_mount *mp, xfs_dqid_t id,
xfs_dqtype_t type, bool can_alloc,
struct xfs_dquot **dqpp);
int xfs_qm_dqget_inode(struct xfs_inode *ip, xfs_dqtype_t type,
bool can_alloc, struct xfs_dquot **dqpp);
int xfs_qm_dqget_next(struct xfs_mount *mp, xfs_dqid_t id,
xfs_dqtype_t type, struct xfs_dquot **dqpp);
int xfs_qm_dqget_uncached(struct xfs_mount *mp,
xfs_dqid_t id, xfs_dqtype_t type,
struct xfs_dquot **dqpp);
void xfs_qm_dqput(struct xfs_dquot *dqp);
void xfs_dqlock2(struct xfs_dquot *, struct xfs_dquot *);
void xfs_dqlockn(struct xfs_dqtrx *q);
void xfs_dquot_set_prealloc_limits(struct xfs_dquot *);
static inline struct xfs_dquot *xfs_qm_dqhold(struct xfs_dquot *dqp)
{ … }
time64_t xfs_dquot_set_timeout(struct xfs_mount *mp, time64_t timeout);
time64_t xfs_dquot_set_grace_period(time64_t grace);
void xfs_qm_init_dquot_blk(struct xfs_trans *tp, xfs_dqid_t id, xfs_dqtype_t
type, struct xfs_buf *bp);
#endif