#ifndef __XFS_SCRUB_QUOTACHECK_H__
#define __XFS_SCRUB_QUOTACHECK_H__
struct xqcheck_dquot {
int64_t bcount;
int64_t icount;
int64_t rtbcount;
unsigned int flags;
};
#define XQCHECK_DQUOT_WRITTEN (1U << 0)
#define XQCHECK_DQUOT_COMPARE_SCANNED (1U << 1)
#define XQCHECK_DQUOT_REPAIR_SCANNED (1U << 2)
struct xqcheck {
struct xfs_scrub *sc;
struct xfarray *ucounts;
struct xfarray *gcounts;
struct xfarray *pcounts;
struct mutex lock;
struct xchk_iscan iscan;
struct xfs_dqtrx_hook qhook;
struct rhashtable shadow_dquot_acct;
};
static inline struct xfarray *
xqcheck_counters_for(
struct xqcheck *xqc,
xfs_dqtype_t dqtype)
{
switch (dqtype) {
case XFS_DQTYPE_USER:
return xqc->ucounts;
case XFS_DQTYPE_GROUP:
return xqc->gcounts;
case XFS_DQTYPE_PROJ:
return xqc->pcounts;
}
ASSERT(0);
return NULL;
}
#endif