X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fquota%2Flquota_entry.c;h=ee73c16374114bd96cd575ca24d9b843570eff03;hb=31170f9ceca91684ea66e0b16757881563a8cf26;hp=7adbc514b9e4b01635c65820f836257850346525;hpb=0754bc8f2623bea184111af216f7567608db35b6;p=fs%2Flustre-release.git diff --git a/lustre/quota/lquota_entry.c b/lustre/quota/lquota_entry.c index 7adbc51..ee73c16 100644 --- a/lustre/quota/lquota_entry.c +++ b/lustre/quota/lquota_entry.c @@ -35,8 +35,8 @@ #include "lquota_internal.h" static int hash_lqs_cur_bits = HASH_LQE_CUR_BITS; -CFS_MODULE_PARM(hash_lqs_cur_bits, "i", int, 0444, - "the current bits of lqe hash"); +module_param(hash_lqs_cur_bits, int, 0444); +MODULE_PARM_DESC(hash_lqs_cur_bits, "the current bits of lqe hash"); static unsigned lqe64_hash_hash(struct cfs_hash *hs, const void *key, unsigned mask) @@ -100,12 +100,15 @@ void lquota_lqe_debug0(struct lquota_entry *lqe, const char *fmt, ...) { struct lquota_site *site = lqe->lqe_site; + struct va_format vaf; va_list args; LASSERT(site->lqs_ops->lqe_debug != NULL); va_start(args, fmt); - site->lqs_ops->lqe_debug(lqe, site->lqs_parent, msgdata, fmt, args); + vaf.fmt = fmt; + vaf.va = &args; + site->lqs_ops->lqe_debug(lqe, site->lqs_parent, msgdata, &vaf); va_end(args); } @@ -203,7 +206,8 @@ struct lquota_site *lquota_site_alloc(const struct lu_env *env, void *parent, char hashname[15]; ENTRY; - LASSERT(qtype < MAXQUOTAS); + if (qtype >= LL_MAXQUOTAS) + RETURN(ERR_PTR(-ENOTSUPP)); OBD_ALLOC_PTR(site); if (site == NULL) @@ -224,7 +228,11 @@ struct lquota_site *lquota_site_alloc(const struct lu_env *env, void *parent, HASH_LQE_BKT_BITS), 0, CFS_HASH_MIN_THETA, CFS_HASH_MAX_THETA, &lqe64_hash_ops, - CFS_HASH_DEFAULT|CFS_HASH_BIGNAME); + CFS_HASH_RW_SEM_BKTLOCK | + CFS_HASH_COUNTER | + CFS_HASH_REHASH | + CFS_HASH_BIGNAME); + if (site->lqs_hash == NULL) { OBD_FREE_PTR(site); RETURN(ERR_PTR(-ENOMEM)); @@ -325,7 +333,7 @@ struct lquota_entry *lqe_locate(const struct lu_env *env, OBD_SLAB_ALLOC_PTR_GFP(new, lqe_kmem, GFP_NOFS); if (new == NULL) { - CERROR("Fail to allocate lqe for id:"LPU64", " + CERROR("Fail to allocate lqe for id:%llu, " "hash:%s\n", qid->qid_uid, site->lqs_hash->hs_name); RETURN(ERR_PTR(-ENOMEM)); }