Lines Matching refs:array

132 	struct pnfs_commit_array *array;  in pnfs_find_commit_array_by_lseg()  local
134 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_find_commit_array_by_lseg()
135 if (array->lseg == lseg) in pnfs_find_commit_array_by_lseg()
136 return array; in pnfs_find_commit_array_by_lseg()
146 struct pnfs_commit_array *array; in pnfs_add_commit_array() local
148 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_add_commit_array()
149 if (array) in pnfs_add_commit_array()
150 return array; in pnfs_add_commit_array()
163 struct pnfs_commit_array *array; in pnfs_lookup_commit_array() local
166 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_lookup_commit_array()
167 if (!array) { in pnfs_lookup_commit_array()
171 array = pnfs_find_commit_array_by_lseg(fl_cinfo, lseg); in pnfs_lookup_commit_array()
174 return array; in pnfs_lookup_commit_array()
178 pnfs_release_commit_array_locked(struct pnfs_commit_array *array) in pnfs_release_commit_array_locked() argument
180 list_del_rcu(&array->cinfo_list); in pnfs_release_commit_array_locked()
181 list_del(&array->lseg_list); in pnfs_release_commit_array_locked()
182 pnfs_free_commit_array(array); in pnfs_release_commit_array_locked()
186 pnfs_put_commit_array_locked(struct pnfs_commit_array *array) in pnfs_put_commit_array_locked() argument
188 if (refcount_dec_and_test(&array->refcount)) in pnfs_put_commit_array_locked()
189 pnfs_release_commit_array_locked(array); in pnfs_put_commit_array_locked()
193 pnfs_put_commit_array(struct pnfs_commit_array *array, struct inode *inode) in pnfs_put_commit_array() argument
195 if (refcount_dec_and_lock(&array->refcount, &inode->i_lock)) { in pnfs_put_commit_array()
196 pnfs_release_commit_array_locked(array); in pnfs_put_commit_array()
202 pnfs_get_commit_array(struct pnfs_commit_array *array) in pnfs_get_commit_array() argument
204 if (refcount_inc_not_zero(&array->refcount)) in pnfs_get_commit_array()
205 return array; in pnfs_get_commit_array()
210 pnfs_remove_and_free_commit_array(struct pnfs_commit_array *array) in pnfs_remove_and_free_commit_array() argument
212 array->lseg = NULL; in pnfs_remove_and_free_commit_array()
213 list_del_init(&array->lseg_list); in pnfs_remove_and_free_commit_array()
214 pnfs_put_commit_array_locked(array); in pnfs_remove_and_free_commit_array()
221 struct pnfs_commit_array *array, *tmp; in pnfs_generic_ds_cinfo_release_lseg() local
223 list_for_each_entry_safe(array, tmp, &lseg->pls_commits, lseg_list) in pnfs_generic_ds_cinfo_release_lseg()
224 pnfs_remove_and_free_commit_array(array); in pnfs_generic_ds_cinfo_release_lseg()
231 struct pnfs_commit_array *array, *tmp; in pnfs_generic_ds_cinfo_destroy() local
233 list_for_each_entry_safe(array, tmp, &fl_cinfo->commits, cinfo_list) in pnfs_generic_ds_cinfo_destroy()
234 pnfs_remove_and_free_commit_array(array); in pnfs_generic_ds_cinfo_destroy()
282 struct pnfs_commit_array *array; in pnfs_generic_scan_commit_lists() local
286 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_scan_commit_lists()
287 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_generic_scan_commit_lists()
290 cnt = pnfs_bucket_scan_array(cinfo, array->buckets, in pnfs_generic_scan_commit_lists()
291 array->nbuckets, max); in pnfs_generic_scan_commit_lists()
293 pnfs_put_commit_array(array, cinfo->inode); in pnfs_generic_scan_commit_lists()
335 struct pnfs_commit_array *array; in pnfs_generic_recover_commit_reqs() local
340 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_generic_recover_commit_reqs()
341 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_generic_recover_commit_reqs()
345 array->buckets, in pnfs_generic_recover_commit_reqs()
346 array->nbuckets, in pnfs_generic_recover_commit_reqs()
349 pnfs_put_commit_array(array, cinfo->inode); in pnfs_generic_recover_commit_reqs()
443 struct pnfs_commit_array *array; in pnfs_alloc_ds_commits_list() local
447 list_for_each_entry_rcu(array, &fl_cinfo->commits, cinfo_list) { in pnfs_alloc_ds_commits_list()
448 if (!array->lseg || !pnfs_get_commit_array(array)) in pnfs_alloc_ds_commits_list()
451 ret += pnfs_bucket_alloc_ds_commits(list, array->buckets, in pnfs_alloc_ds_commits_list()
452 array->nbuckets, cinfo); in pnfs_alloc_ds_commits_list()
454 pnfs_put_commit_array(array, cinfo->inode); in pnfs_alloc_ds_commits_list()
1176 struct pnfs_commit_array *array; in pnfs_layout_mark_request_commit() local
1180 array = pnfs_lookup_commit_array(cinfo->ds, lseg); in pnfs_layout_mark_request_commit()
1181 if (!array || !pnfs_is_valid_lseg(lseg)) in pnfs_layout_mark_request_commit()
1183 bucket = &array->buckets[ds_commit_idx]; in pnfs_layout_mark_request_commit()