Lines Matching defs:fls

258 static void ff_layout_free_mirror_array(struct nfs4_ff_layout_segment *fls)
262 for (i = 0; i < fls->mirror_array_cnt; i++)
263 ff_layout_put_mirror(fls->mirror_array[i]);
266 static void _ff_layout_free_lseg(struct nfs4_ff_layout_segment *fls)
268 if (fls) {
269 ff_layout_free_mirror_array(fls);
270 kfree(fls);
352 static void ff_layout_sort_mirrors(struct nfs4_ff_layout_segment *fls)
356 for (i = 0; i < fls->mirror_array_cnt - 1; i++) {
357 for (j = i + 1; j < fls->mirror_array_cnt; j++)
358 if (fls->mirror_array[i]->efficiency <
359 fls->mirror_array[j]->efficiency)
360 swap(fls->mirror_array[i],
361 fls->mirror_array[j]);
371 struct nfs4_ff_layout_segment *fls = NULL;
405 fls = kzalloc(struct_size(fls, mirror_array, mirror_array_cnt),
407 if (!fls)
410 fls->mirror_array_cnt = mirror_array_cnt;
411 fls->stripe_unit = stripe_unit;
413 for (i = 0; i < fls->mirror_array_cnt; i++) {
432 fls->mirror_array[i] = ff_layout_alloc_mirror(gfp_flags);
433 if (fls->mirror_array[i] == NULL) {
438 fls->mirror_array[i]->ds_count = ds_count;
441 rc = decode_deviceid(&stream, &fls->mirror_array[i]->devid);
450 fls->mirror_array[i]->efficiency = be32_to_cpup(p);
453 rc = decode_pnfs_stateid(&stream, &fls->mirror_array[i]->stateid);
464 fls->mirror_array[i]->fh_versions =
467 if (fls->mirror_array[i]->fh_versions == NULL) {
474 &fls->mirror_array[i]->fh_versions[j]);
479 fls->mirror_array[i]->fh_versions_cnt = fh_count;
510 rcu_assign_pointer(fls->mirror_array[i]->ro_cred, cred);
512 rcu_assign_pointer(fls->mirror_array[i]->rw_cred, cred);
514 mirror = ff_layout_add_mirror(lh, fls->mirror_array[i]);
515 if (mirror != fls->mirror_array[i]) {
519 rcu_assign_pointer(fls->mirror_array[i]->ro_cred, cred);
522 rcu_assign_pointer(fls->mirror_array[i]->rw_cred, cred);
524 ff_layout_free_mirror(fls->mirror_array[i]);
525 fls->mirror_array[i] = mirror;
537 fls->flags = be32_to_cpup(p);
542 for (i=0; i < fls->mirror_array_cnt; i++)
543 fls->mirror_array[i]->report_interval = be32_to_cpup(p);
546 ff_layout_sort_mirrors(fls);
547 ret = &fls->generic_hdr;
553 _ff_layout_free_lseg(fls);
562 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg);
576 _ff_layout_free_lseg(fls);
746 struct nfs4_ff_layout_segment *fls = FF_LAYOUT_LSEG(lseg);
752 for (idx = start_idx; idx < fls->mirror_array_cnt; idx++) {