* GPL HEADER END
*/
/*
- * Copyright (c) 2012, Intel Corporation.
+ * Copyright (c) 2012, 2014, Intel Corporation.
* Use is subject to license terms.
*/
* present. */
struct lquota_site {
/* Hash table storing lquota_entry structures */
- cfs_hash_t *lqs_hash;
+ struct cfs_hash *lqs_hash;
/* Quota type, either user or group. */
int lqs_qtype;
#define LQUOTA_BUMP_VER 0x1
#define LQUOTA_SET_VER 0x2
+extern struct kmem_cache *lqe_kmem;
+
/* helper routine to get/put reference on lquota_entry */
static inline void lqe_getref(struct lquota_entry *lqe)
{
LASSERT(lqe != NULL);
LASSERT(atomic_read(&lqe->lqe_ref) > 0);
if (atomic_dec_and_test(&lqe->lqe_ref))
- OBD_FREE_PTR(lqe);
+ OBD_SLAB_FREE_PTR(lqe, lqe_kmem);
}
static inline int lqe_is_master(struct lquota_entry *lqe)
__attribute__ ((format (printf, 3, 4)));
#define LQUOTA_DEBUG_LIMIT(mask, lqe, fmt, a...) do { \
- static cfs_debug_limit_state_t _lquota_cdls; \
+ static struct cfs_debug_limit_state _lquota_cdls; \
LIBCFS_DEBUG_MSG_DATA_DECL(msgdata, mask, &_lquota_cdls); \
lquota_lqe_debug(&msgdata, mask, &_lquota_cdls, lqe, "$$$ "fmt" ", \
##a); \
void lquota_generate_fid(struct lu_fid *, int, int, int);
int lquota_extract_fid(const struct lu_fid *, int *, int *, int *);
const struct dt_index_features *glb_idx_feature(struct lu_fid *);
-extern struct kmem_cache *lqe_kmem;
/* lquota_entry.c */
/* site create/destroy */
__u32, __u64 *);
int lquota_disk_update_ver(const struct lu_env *, struct dt_device *,
struct dt_object *, __u64);
+int lquota_disk_write_glb(const struct lu_env *, struct dt_object *, __u64,
+ struct lquota_glb_rec *);
/* qmt_dev.c */
int qmt_glb_init(void);