Lines Matching full:array

134 	struct pnfs_commit_array *array;  in pnfs_find_commit_array_by_lseg()  local
136 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_find_commit_array_by_lseg()
137 if (array->lseg == lseg) in pnfs_find_commit_array_by_lseg()
138 return array; in pnfs_find_commit_array_by_lseg()
148 struct pnfs_commit_array *array; in pnfs_add_commit_array() local
150 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_add_commit_array()
151 if (array) in pnfs_add_commit_array()
152 return array; in pnfs_add_commit_array()
165 struct pnfs_commit_array *array; in pnfs_lookup_commit_array() local
168 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_lookup_commit_array()
169 if (!array) { in pnfs_lookup_commit_array()
173 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_lookup_commit_array()
176 return array; in pnfs_lookup_commit_array()
180 pnfs_release_commit_array_locked(struct pnfs_commit_array *array) in pnfs_release_commit_array_locked() argument
182 list_del_rcu(&array->cinfo_list); in pnfs_release_commit_array_locked()
183 list_del(&array->lseg_list); in pnfs_release_commit_array_locked()
184 pnfs_free_commit_array(array); in pnfs_release_commit_array_locked()
188 pnfs_put_commit_array_locked(struct pnfs_commit_array *array) in pnfs_put_commit_array_locked() argument
190 if (refcount_dec_and_test(&array->refcount)) in pnfs_put_commit_array_locked()
191 pnfs_release_commit_array_locked(array); in pnfs_put_commit_array_locked()
195 pnfs_put_commit_array(struct pnfs_commit_array *array, struct inode *inode) in pnfs_put_commit_array() argument
197 if (refcount_dec_and_lock(&array->refcount, &inode->i_lock)) { in pnfs_put_commit_array()
198 pnfs_release_commit_array_locked(array); in pnfs_put_commit_array()
204 pnfs_get_commit_array(struct pnfs_commit_array *array) in pnfs_get_commit_array() argument
206 if (refcount_inc_not_zero(&array->refcount)) in pnfs_get_commit_array()
207 return array; in pnfs_get_commit_array()
212 pnfs_remove_and_free_commit_array(struct pnfs_commit_array *array) in pnfs_remove_and_free_commit_array() argument
214 array->lseg = NULL; in pnfs_remove_and_free_commit_array()
215 list_del_init(&array->lseg_list); in pnfs_remove_and_free_commit_array()
216 pnfs_put_commit_array_locked(array); in pnfs_remove_and_free_commit_array()
223 struct pnfs_commit_array *array, *tmp; in pnfs_generic_ds_cinfo_release_lseg() local
225 list_for_each_entry_safe(array, tmp, &lseg->pls_commits, lseg_list) in pnfs_generic_ds_cinfo_release_lseg()
226 pnfs_remove_and_free_commit_array(array); in pnfs_generic_ds_cinfo_release_lseg()
233 struct pnfs_commit_array *array, *tmp; in pnfs_generic_ds_cinfo_destroy() local
235 list_for_each_entry_safe(array, tmp, &fl_cinfo->commits, cinfo_list) in pnfs_generic_ds_cinfo_destroy()
236 pnfs_remove_and_free_commit_array(array); in pnfs_generic_ds_cinfo_destroy()
284 struct pnfs_commit_array *array; in pnfs_generic_scan_commit_lists() local
288 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_scan_commit_lists()
289 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_generic_scan_commit_lists()
292 cnt = pnfs_bucket_scan_array(cinfo, array->buckets, in pnfs_generic_scan_commit_lists()
293 array->nbuckets, max); in pnfs_generic_scan_commit_lists()
295 pnfs_put_commit_array(array, cinfo->inode); in pnfs_generic_scan_commit_lists()
337 struct pnfs_commit_array *array; in pnfs_generic_recover_commit_reqs() local
342 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_recover_commit_reqs()
343 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_generic_recover_commit_reqs()
347 array->buckets, in pnfs_generic_recover_commit_reqs()
348 array->nbuckets, in pnfs_generic_recover_commit_reqs()
351 pnfs_put_commit_array(array, cinfo->inode); in pnfs_generic_recover_commit_reqs()
392 struct pnfs_commit_array *array; in pnfs_generic_search_commit_reqs() local
395 list_for_each_entry(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_search_commit_reqs()
396 req = pnfs_bucket_search_commit_reqs(array->buckets, in pnfs_generic_search_commit_reqs()
397 array->nbuckets, page); in pnfs_generic_search_commit_reqs()
491 struct pnfs_commit_array *array; in pnfs_alloc_ds_commits_list() local
495 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_alloc_ds_commits_list()
496 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_alloc_ds_commits_list()
499 ret += pnfs_bucket_alloc_ds_commits(list, array->buckets, in pnfs_alloc_ds_commits_list()
500 array->nbuckets, cinfo); in pnfs_alloc_ds_commits_list()
502 pnfs_put_commit_array(array, cinfo->inode); in pnfs_alloc_ds_commits_list()
1170 struct pnfs_commit_array *array; in pnfs_layout_mark_request_commit() local
1174 array = pnfs_lookup_commit_array(cinfo->ds, lseg); in pnfs_layout_mark_request_commit()
1175 if (!array || !pnfs_is_valid_lseg(lseg)) in pnfs_layout_mark_request_commit()
1177 bucket = &array->buckets[ds_commit_idx]; in pnfs_layout_mark_request_commit()