X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fquota%2Flquota_internal.h;h=9309a90e94cd2c7d9f118b42c709888c5f1e9f3b;hb=069a9cf551c2e985ea254a1c570b22ed1d72d914;hp=2a094ab073ef608f6dec8e10b073a557d18eadc6;hpb=294e507d34de0d7990ec507334f71ff1d1a7db01;p=fs%2Flustre-release.git diff --git a/lustre/quota/lquota_internal.h b/lustre/quota/lquota_internal.h index 2a094ab..9309a90 100644 --- a/lustre/quota/lquota_internal.h +++ b/lustre/quota/lquota_internal.h @@ -21,7 +21,7 @@ * GPL HEADER END */ /* - * Copyright (c) 2012, Intel Corporation. + * Copyright (c) 2012, 2014, Intel Corporation. * Use is subject to license terms. */ @@ -138,7 +138,7 @@ struct lquota_slv_entry { * A lquota_entry structure belong to a single lquota_site */ struct lquota_entry { /* link to site hash table */ - cfs_hlist_node_t lqe_hash; + struct hlist_node lqe_hash; /* quota identifier associated with this entry */ union lquota_id lqe_id; @@ -152,7 +152,7 @@ struct lquota_entry { /* linked to list of lqes which: * - need quota space adjustment on slave * - need glimpse to be sent on master */ - cfs_list_t lqe_link; + struct list_head lqe_link; /* current quota settings/usage of this ID */ __u64 lqe_granted; /* granted limit, inodes or kbytes */ @@ -175,7 +175,7 @@ struct lquota_entry { * 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; @@ -216,6 +216,8 @@ struct lquota_site { #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) { @@ -228,7 +230,7 @@ static inline void lqe_putref(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) @@ -368,7 +370,6 @@ struct dt_object *acct_obj_lookup(const struct lu_env *, struct dt_device *, 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 */ @@ -409,6 +410,8 @@ int lquota_disk_write(const struct lu_env *, struct thandle *, __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);