Lines Matching full:array

131 	struct pnfs_commit_array *array;  in pnfs_find_commit_array_by_lseg()  local
133 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_find_commit_array_by_lseg()
134 if (array->lseg == lseg) in pnfs_find_commit_array_by_lseg()
135 return array; in pnfs_find_commit_array_by_lseg()
145 struct pnfs_commit_array *array; in pnfs_add_commit_array() local
147 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_add_commit_array()
148 if (array) in pnfs_add_commit_array()
149 return array; in pnfs_add_commit_array()
162 struct pnfs_commit_array *array; in pnfs_lookup_commit_array() local
165 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_lookup_commit_array()
166 if (!array) { in pnfs_lookup_commit_array()
170 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_lookup_commit_array()
173 return array; in pnfs_lookup_commit_array()
177 pnfs_release_commit_array_locked(struct pnfs_commit_array *array) in pnfs_release_commit_array_locked() argument
179 list_del_rcu(&array->cinfo_list); in pnfs_release_commit_array_locked()
180 list_del(&array->lseg_list); in pnfs_release_commit_array_locked()
181 pnfs_free_commit_array(array); in pnfs_release_commit_array_locked()
185 pnfs_put_commit_array_locked(struct pnfs_commit_array *array) in pnfs_put_commit_array_locked() argument
187 if (refcount_dec_and_test(&array->refcount)) in pnfs_put_commit_array_locked()
188 pnfs_release_commit_array_locked(array); in pnfs_put_commit_array_locked()
192 pnfs_put_commit_array(struct pnfs_commit_array *array, struct inode *inode) in pnfs_put_commit_array() argument
194 if (refcount_dec_and_lock(&array->refcount, &inode->i_lock)) { in pnfs_put_commit_array()
195 pnfs_release_commit_array_locked(array); in pnfs_put_commit_array()
201 pnfs_get_commit_array(struct pnfs_commit_array *array) in pnfs_get_commit_array() argument
203 if (refcount_inc_not_zero(&array->refcount)) in pnfs_get_commit_array()
204 return array; in pnfs_get_commit_array()
209 pnfs_remove_and_free_commit_array(struct pnfs_commit_array *array) in pnfs_remove_and_free_commit_array() argument
211 array->lseg = NULL; in pnfs_remove_and_free_commit_array()
212 list_del_init(&array->lseg_list); in pnfs_remove_and_free_commit_array()
213 pnfs_put_commit_array_locked(array); in pnfs_remove_and_free_commit_array()
220 struct pnfs_commit_array *array, *tmp; in pnfs_generic_ds_cinfo_release_lseg() local
222 list_for_each_entry_safe(array, tmp, &lseg->pls_commits, lseg_list) in pnfs_generic_ds_cinfo_release_lseg()
223 pnfs_remove_and_free_commit_array(array); in pnfs_generic_ds_cinfo_release_lseg()
230 struct pnfs_commit_array *array, *tmp; in pnfs_generic_ds_cinfo_destroy() local
232 list_for_each_entry_safe(array, tmp, &fl_cinfo->commits, cinfo_list) in pnfs_generic_ds_cinfo_destroy()
233 pnfs_remove_and_free_commit_array(array); in pnfs_generic_ds_cinfo_destroy()
281 struct pnfs_commit_array *array; in pnfs_generic_scan_commit_lists() local
285 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_scan_commit_lists()
286 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_generic_scan_commit_lists()
289 cnt = pnfs_bucket_scan_array(cinfo, array->buckets, in pnfs_generic_scan_commit_lists()
290 array->nbuckets, max); in pnfs_generic_scan_commit_lists()
292 pnfs_put_commit_array(array, cinfo->inode); in pnfs_generic_scan_commit_lists()
334 struct pnfs_commit_array *array; in pnfs_generic_recover_commit_reqs() local
339 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_recover_commit_reqs()
340 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_generic_recover_commit_reqs()
344 array->buckets, in pnfs_generic_recover_commit_reqs()
345 array->nbuckets, in pnfs_generic_recover_commit_reqs()
348 pnfs_put_commit_array(array, cinfo->inode); in pnfs_generic_recover_commit_reqs()
442 struct pnfs_commit_array *array; in pnfs_alloc_ds_commits_list() local
446 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_alloc_ds_commits_list()
447 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_alloc_ds_commits_list()
450 ret += pnfs_bucket_alloc_ds_commits(list, array->buckets, in pnfs_alloc_ds_commits_list()
451 array->nbuckets, cinfo); in pnfs_alloc_ds_commits_list()
453 pnfs_put_commit_array(array, cinfo->inode); in pnfs_alloc_ds_commits_list()
1163 struct pnfs_commit_array *array; in pnfs_layout_mark_request_commit() local
1167 array = pnfs_lookup_commit_array(cinfo->ds, lseg); in pnfs_layout_mark_request_commit()
1168 if (!array || !pnfs_is_valid_lseg(lseg)) in pnfs_layout_mark_request_commit()
1170 bucket = &array->buckets[ds_commit_idx]; in pnfs_layout_mark_request_commit()