Lines Matching defs:xqm
106 xfs_qm_t *xqm;
126 xqm = kmem_zalloc(sizeof(xfs_qm_t), KM_SLEEP);
127 xqm->qm_dqhashmask = hsize - 1;
128 xqm->qm_usr_dqhtable = udqhash;
129 xqm->qm_grp_dqhtable = gdqhash;
130 ASSERT(xqm->qm_usr_dqhtable != NULL);
131 ASSERT(xqm->qm_grp_dqhtable != NULL);
134 xfs_qm_list_init(&(xqm->qm_usr_dqhtable[i]), "uxdqh", i);
135 xfs_qm_list_init(&(xqm->qm_grp_dqhtable[i]), "gxdqh", i);
141 INIT_LIST_HEAD(&xqm->qm_dqfrlist);
142 xqm->qm_dqfrlist_cnt = 0;
143 mutex_init(&xqm->qm_dqfrlist_lock);
149 xqm->qm_dqzone = kmem_zone_init(sizeof(xfs_dquot_t),
151 qm_dqzone = xqm->qm_dqzone;
153 xqm->qm_dqzone = qm_dqzone;
161 xqm->qm_dqtrxzone = kmem_zone_init(sizeof(xfs_dquot_acct_t),
163 qm_dqtrxzone = xqm->qm_dqtrxzone;
165 xqm->qm_dqtrxzone = qm_dqtrxzone;
167 atomic_set(&xqm->qm_totaldquots, 0);
168 xqm->qm_dqfree_ratio = XFS_QM_DQFREE_RATIO;
169 xqm->qm_nrefs = 0;
173 return xqm;
186 struct xfs_qm *xqm)
191 ASSERT(xqm != NULL);
192 ASSERT(xqm->qm_nrefs == 0);
194 hsize = xqm->qm_dqhashmask + 1;
196 xfs_qm_list_destroy(&(xqm->qm_usr_dqhtable[i]));
197 xfs_qm_list_destroy(&(xqm->qm_grp_dqhtable[i]));
199 kmem_free_large(xqm->qm_usr_dqhtable);
200 kmem_free_large(xqm->qm_grp_dqhtable);
201 xqm->qm_usr_dqhtable = NULL;
202 xqm->qm_grp_dqhtable = NULL;
203 xqm->qm_dqhashmask = 0;
206 mutex_lock(&xqm->qm_dqfrlist_lock);
207 list_for_each_entry_safe(dqp, n, &xqm->qm_dqfrlist, q_freelist) {
217 mutex_unlock(&xqm->qm_dqfrlist_lock);
218 mutex_destroy(&xqm->qm_dqfrlist_lock);
222 kmem_free(xqm);