#ifndef _LQUOTA_INTERNAL_H
#define _LQUOTA_INTERNAL_H
-/*
-static inline char *qtype_name(int qtype)
-{
- switch (qtype) {
- case USRQUOTA:
- return "usr";
- case GRPQUOTA:
- return "grp";
- }
- return "unknown";
-}
-*/
-
#define RES_NAME(res) ((res) == LQUOTA_RES_MD ? "md" : "dt")
#define QIF_IFLAGS (QIF_INODES | QIF_ITIME | QIF_ILIMITS)
enum lquota_local_oid {
LQUOTA_USR_OID = 1UL, /* slave index copy for user quota */
LQUOTA_GRP_OID = 2UL, /* slave index copy for group quota */
+ LQUOTA_PRJ_OID = 3UL, /* slave index copy for project quota */
/* all OIDs after this are allocated dynamically by the QMT */
LQUOTA_GENERATED_OID = 4096UL,
};
return LQUOTA_USR_OID;
case GRPQUOTA:
return LQUOTA_GRP_OID;
+ case PRJQUOTA:
+ return LQUOTA_PRJ_OID;
}
- LASSERTF(0, "invalid quota type: %d", qtype);
+ /* should not come here, just make compile happy */
return LQUOTA_USR_OID;
}
__u64 lme_gracetime;
/* last time we glimpsed */
- __u64 lme_revoke_time;
+ time64_t lme_revoke_time;
/* r/w semaphore used to protect concurrent access to the quota
* parameters which are stored on disk */
__u64 lse_usage;
/* time to trigger quota adjust */
- __u64 lse_adjust_time;
+ time64_t lse_adjust_time;
/* return code of latest acquire RPC */
int lse_acq_rc;
/* when latest acquire RPC completed */
- __u64 lse_acq_time;
+ time64_t lse_acq_time;
/* when latest edquot set */
- __u64 lse_edquot_time;
+ time64_t lse_edquot_time;
};
/* In-memory entry for each enforced quota id
return QUOTA_FL_OVER_USRQUOTA;
case GRPQUOTA:
return QUOTA_FL_OVER_GRPQUOTA;
+ case PRJQUOTA:
+ return QUOTA_FL_OVER_PRJQUOTA;
}
- LASSERTF(0, "invalid quota type: %d", qtype);
+ /* should not come here, just make compile happy */
return QUOTA_FL_OVER_USRQUOTA;
}