Lines Matching refs:mirror

196 				   struct nfs4_ff_layout_mirror *mirror,  in ff_layout_mirror_valid()  argument
199 if (mirror == NULL || IS_ERR(mirror->mirror_ds)) in ff_layout_mirror_valid()
201 if (mirror->mirror_ds == NULL) { in ff_layout_mirror_valid()
208 &mirror->devid, lh->plh_lc_cred, in ff_layout_mirror_valid()
214 if (cmpxchg(&mirror->mirror_ds, NULL, mirror_ds) && in ff_layout_mirror_valid()
221 if (IS_ERR(mirror->mirror_ds)) in ff_layout_mirror_valid()
224 if (mirror->mirror_ds->ds == NULL) { in ff_layout_mirror_valid()
226 devid = &mirror->mirror_ds->id_node; in ff_layout_mirror_valid()
301 struct nfs4_ff_layout_mirror *mirror, u64 offset, in ff_layout_track_ds_error() argument
310 if (mirror->mirror_ds == NULL) in ff_layout_track_ds_error()
322 nfs4_stateid_copy(&dserr->stateid, &mirror->stateid); in ff_layout_track_ds_error()
323 memcpy(&dserr->deviceid, &mirror->mirror_ds->id_node.deviceid, in ff_layout_track_ds_error()
334 ff_layout_get_mirror_cred(struct nfs4_ff_layout_mirror *mirror, u32 iomode) in ff_layout_get_mirror_cred() argument
339 pcred = &mirror->ro_cred; in ff_layout_get_mirror_cred()
341 pcred = &mirror->rw_cred; in ff_layout_get_mirror_cred()
358 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, mirror_idx); in nfs4_ff_layout_select_ds_fh() local
361 if (!ff_layout_mirror_valid(lseg, mirror, false)) { in nfs4_ff_layout_select_ds_fh()
368 fh = &mirror->fh_versions[0]; in nfs4_ff_layout_select_ds_fh()
394 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx); in nfs4_ff_layout_prepare_ds() local
402 if (!ff_layout_mirror_valid(lseg, mirror, true)) { in nfs4_ff_layout_prepare_ds()
408 devid = &mirror->mirror_ds->id_node; in nfs4_ff_layout_prepare_ds()
412 ds = mirror->mirror_ds->ds; in nfs4_ff_layout_prepare_ds()
423 mirror->mirror_ds->ds_versions[0].version, in nfs4_ff_layout_prepare_ds()
424 mirror->mirror_ds->ds_versions[0].minor_version); in nfs4_ff_layout_prepare_ds()
431 if (mirror->mirror_ds->ds_versions[0].rsize > max_payload) in nfs4_ff_layout_prepare_ds()
432 mirror->mirror_ds->ds_versions[0].rsize = max_payload; in nfs4_ff_layout_prepare_ds()
433 if (mirror->mirror_ds->ds_versions[0].wsize > max_payload) in nfs4_ff_layout_prepare_ds()
434 mirror->mirror_ds->ds_versions[0].wsize = max_payload; in nfs4_ff_layout_prepare_ds()
439 mirror, lseg->pls_range.offset, in nfs4_ff_layout_prepare_ds()
453 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx); in ff_layout_get_ds_cred() local
456 if (mirror) { in ff_layout_get_ds_cred()
457 cred = ff_layout_get_mirror_cred(mirror, lseg->pls_range.iomode); in ff_layout_get_ds_cred()
474 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx); in nfs4_ff_find_or_create_ds_client() local
476 switch (mirror->mirror_ds->ds_versions[0].version) { in nfs4_ff_find_or_create_ds_client()
580 struct nfs4_ff_layout_mirror *mirror; in ff_read_layout_has_available_ds() local
585 mirror = FF_LAYOUT_COMP(lseg, idx); in ff_read_layout_has_available_ds()
586 if (mirror) { in ff_read_layout_has_available_ds()
587 if (!mirror->mirror_ds) in ff_read_layout_has_available_ds()
589 if (IS_ERR(mirror->mirror_ds)) in ff_read_layout_has_available_ds()
591 devid = &mirror->mirror_ds->id_node; in ff_read_layout_has_available_ds()
602 struct nfs4_ff_layout_mirror *mirror; in ff_rw_layout_has_available_ds() local
607 mirror = FF_LAYOUT_COMP(lseg, idx); in ff_rw_layout_has_available_ds()
608 if (!mirror || IS_ERR(mirror->mirror_ds)) in ff_rw_layout_has_available_ds()
610 if (!mirror->mirror_ds) in ff_rw_layout_has_available_ds()
612 devid = &mirror->mirror_ds->id_node; in ff_rw_layout_has_available_ds()