Lines Matching refs:array

130 	struct pnfs_commit_array *array;  in pnfs_find_commit_array_by_lseg()  local
132 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_find_commit_array_by_lseg()
133 if (array->lseg == lseg) in pnfs_find_commit_array_by_lseg()
134 return array; in pnfs_find_commit_array_by_lseg()
144 struct pnfs_commit_array *array; in pnfs_add_commit_array() local
146 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_add_commit_array()
147 if (array) in pnfs_add_commit_array()
148 return array; in pnfs_add_commit_array()
161 struct pnfs_commit_array *array; in pnfs_lookup_commit_array() local
164 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_lookup_commit_array()
165 if (!array) { in pnfs_lookup_commit_array()
169 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_lookup_commit_array()
172 return array; in pnfs_lookup_commit_array()
176 pnfs_release_commit_array_locked(struct pnfs_commit_array *array) in pnfs_release_commit_array_locked() argument
178 list_del_rcu(&array->cinfo_list); in pnfs_release_commit_array_locked()
179 list_del(&array->lseg_list); in pnfs_release_commit_array_locked()
180 pnfs_free_commit_array(array); in pnfs_release_commit_array_locked()
184 pnfs_put_commit_array_locked(struct pnfs_commit_array *array) in pnfs_put_commit_array_locked() argument
186 if (refcount_dec_and_test(&array->refcount)) in pnfs_put_commit_array_locked()
187 pnfs_release_commit_array_locked(array); in pnfs_put_commit_array_locked()
191 pnfs_put_commit_array(struct pnfs_commit_array *array, struct inode *inode) in pnfs_put_commit_array() argument
193 if (refcount_dec_and_lock(&array->refcount, &inode->i_lock)) { in pnfs_put_commit_array()
194 pnfs_release_commit_array_locked(array); in pnfs_put_commit_array()
200 pnfs_get_commit_array(struct pnfs_commit_array *array) in pnfs_get_commit_array() argument
202 if (refcount_inc_not_zero(&array->refcount)) in pnfs_get_commit_array()
203 return array; in pnfs_get_commit_array()
208 pnfs_remove_and_free_commit_array(struct pnfs_commit_array *array) in pnfs_remove_and_free_commit_array() argument
210 array->lseg = NULL; in pnfs_remove_and_free_commit_array()
211 list_del_init(&array->lseg_list); in pnfs_remove_and_free_commit_array()
212 pnfs_put_commit_array_locked(array); in pnfs_remove_and_free_commit_array()
219 struct pnfs_commit_array *array, *tmp; in pnfs_generic_ds_cinfo_release_lseg() local
221 list_for_each_entry_safe(array, tmp, &lseg->pls_commits, lseg_list) in pnfs_generic_ds_cinfo_release_lseg()
222 pnfs_remove_and_free_commit_array(array); in pnfs_generic_ds_cinfo_release_lseg()
229 struct pnfs_commit_array *array, *tmp; in pnfs_generic_ds_cinfo_destroy() local
231 list_for_each_entry_safe(array, tmp, &fl_cinfo->commits, cinfo_list) in pnfs_generic_ds_cinfo_destroy()
232 pnfs_remove_and_free_commit_array(array); in pnfs_generic_ds_cinfo_destroy()
280 struct pnfs_commit_array *array; in pnfs_generic_scan_commit_lists() local
284 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_scan_commit_lists()
285 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_generic_scan_commit_lists()
288 cnt = pnfs_bucket_scan_array(cinfo, array->buckets, in pnfs_generic_scan_commit_lists()
289 array->nbuckets, max); in pnfs_generic_scan_commit_lists()
291 pnfs_put_commit_array(array, cinfo->inode); in pnfs_generic_scan_commit_lists()
333 struct pnfs_commit_array *array; in pnfs_generic_recover_commit_reqs() local
338 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_recover_commit_reqs()
339 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_generic_recover_commit_reqs()
343 array->buckets, in pnfs_generic_recover_commit_reqs()
344 array->nbuckets, in pnfs_generic_recover_commit_reqs()
347 pnfs_put_commit_array(array, cinfo->inode); in pnfs_generic_recover_commit_reqs()
388 struct pnfs_commit_array *array; in pnfs_generic_search_commit_reqs() local
391 list_for_each_entry(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_search_commit_reqs()
392 req = pnfs_bucket_search_commit_reqs(array->buckets, in pnfs_generic_search_commit_reqs()
393 array->nbuckets, page); in pnfs_generic_search_commit_reqs()
488 struct pnfs_commit_array *array; in pnfs_alloc_ds_commits_list() local
492 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_alloc_ds_commits_list()
493 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_alloc_ds_commits_list()
496 ret += pnfs_bucket_alloc_ds_commits(list, array->buckets, in pnfs_alloc_ds_commits_list()
497 array->nbuckets, cinfo); in pnfs_alloc_ds_commits_list()
499 pnfs_put_commit_array(array, cinfo->inode); in pnfs_alloc_ds_commits_list()
1157 struct pnfs_commit_array *array; in pnfs_layout_mark_request_commit() local
1161 array = pnfs_lookup_commit_array(cinfo->ds, lseg); in pnfs_layout_mark_request_commit()
1162 if (!array || !pnfs_is_valid_lseg(lseg)) in pnfs_layout_mark_request_commit()
1164 bucket = &array->buckets[ds_commit_idx]; in pnfs_layout_mark_request_commit()