Lines Matching refs:mirror
255 struct nfs4_ff_layout_mirror *mirror, u64 offset, in ff_layout_track_ds_error() argument
265 if (mirror->mirror_ds == NULL) in ff_layout_track_ds_error()
270 &mirror->stateid, in ff_layout_track_ds_error()
271 &mirror->mirror_ds->id_node.deviceid)) { in ff_layout_track_ds_error()
285 nfs4_stateid_copy(&dserr->stateid, &mirror->stateid); in ff_layout_track_ds_error()
286 memcpy(&dserr->deviceid, &mirror->mirror_ds->id_node.deviceid, in ff_layout_track_ds_error()
300 nfs4_ff_layout_choose_authflavor(struct nfs4_ff_layout_mirror *mirror) in nfs4_ff_layout_choose_authflavor() argument
302 if (mirror->uid == (u32)-1) in nfs4_ff_layout_choose_authflavor()
308 static int ff_layout_update_mirror_cred(struct nfs4_ff_layout_mirror *mirror, in ff_layout_update_mirror_cred() argument
311 if (ds->ds_clp && !mirror->cred && in ff_layout_update_mirror_cred()
312 mirror->mirror_ds->ds_versions[0].version == 3) { in ff_layout_update_mirror_cred()
316 .uid = make_kuid(&init_user_ns, mirror->uid), in ff_layout_update_mirror_cred()
317 .gid = make_kgid(&init_user_ns, mirror->gid), in ff_layout_update_mirror_cred()
327 if (cmpxchg(&mirror->cred, NULL, cred)) in ff_layout_update_mirror_cred()
337 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, mirror_idx); in nfs4_ff_layout_select_ds_fh() local
341 if (mirror == NULL || mirror->mirror_ds == NULL || in nfs4_ff_layout_select_ds_fh()
342 mirror->mirror_ds->ds == NULL) { in nfs4_ff_layout_select_ds_fh()
345 if (mirror && mirror->mirror_ds) { in nfs4_ff_layout_select_ds_fh()
346 devid = &mirror->mirror_ds->id_node; in nfs4_ff_layout_select_ds_fh()
353 fh = &mirror->fh_versions[0]; in nfs4_ff_layout_select_ds_fh()
363 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx); in nfs4_ff_layout_prepare_ds() local
371 if (mirror == NULL || mirror->mirror_ds == NULL || in nfs4_ff_layout_prepare_ds()
372 mirror->mirror_ds->ds == NULL) { in nfs4_ff_layout_prepare_ds()
375 if (mirror && mirror->mirror_ds) { in nfs4_ff_layout_prepare_ds()
376 devid = &mirror->mirror_ds->id_node; in nfs4_ff_layout_prepare_ds()
382 devid = &mirror->mirror_ds->id_node; in nfs4_ff_layout_prepare_ds()
386 ds = mirror->mirror_ds->ds; in nfs4_ff_layout_prepare_ds()
392 flavor = nfs4_ff_layout_choose_authflavor(mirror); in nfs4_ff_layout_prepare_ds()
399 mirror->mirror_ds->ds_versions[0].version, in nfs4_ff_layout_prepare_ds()
400 mirror->mirror_ds->ds_versions[0].minor_version, in nfs4_ff_layout_prepare_ds()
408 if (mirror->mirror_ds->ds_versions[0].rsize > max_payload) in nfs4_ff_layout_prepare_ds()
409 mirror->mirror_ds->ds_versions[0].rsize = max_payload; in nfs4_ff_layout_prepare_ds()
410 if (mirror->mirror_ds->ds_versions[0].wsize > max_payload) in nfs4_ff_layout_prepare_ds()
411 mirror->mirror_ds->ds_versions[0].wsize = max_payload; in nfs4_ff_layout_prepare_ds()
414 mirror, lseg->pls_range.offset, in nfs4_ff_layout_prepare_ds()
435 if (ff_layout_update_mirror_cred(mirror, ds)) in nfs4_ff_layout_prepare_ds()
445 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx); in ff_layout_get_ds_cred() local
451 if (mirror && mirror->cred) in ff_layout_get_ds_cred()
452 cred = mirror->cred; in ff_layout_get_ds_cred()
467 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, ds_idx); in nfs4_ff_find_or_create_ds_client() local
469 switch (mirror->mirror_ds->ds_versions[0].version) { in nfs4_ff_find_or_create_ds_client()
533 struct nfs4_ff_layout_mirror *mirror; in ff_layout_has_available_ds() local
538 mirror = FF_LAYOUT_COMP(lseg, idx); in ff_layout_has_available_ds()
539 if (mirror && mirror->mirror_ds) { in ff_layout_has_available_ds()
540 devid = &mirror->mirror_ds->id_node; in ff_layout_has_available_ds()