Lines Matching refs:mirror_ds
26 void nfs4_ff_layout_put_deviceid(struct nfs4_ff_layout_ds *mirror_ds)
28 if (!IS_ERR_OR_NULL(mirror_ds))
29 nfs4_put_deviceid_node(&mirror_ds->id_node);
32 void nfs4_ff_layout_free_deviceid(struct nfs4_ff_layout_ds *mirror_ds)
34 nfs4_print_deviceid(&mirror_ds->id_node.deviceid);
35 nfs4_pnfs_ds_put(mirror_ds->ds);
36 kfree(mirror_ds->ds_versions);
37 kfree_rcu(mirror_ds, id_node.rcu);
262 if (IS_ERR_OR_NULL(mirror->mirror_ds))
275 memcpy(&dserr->deviceid, &mirror->mirror_ds->id_node.deviceid,
327 if (mirror->mirror_ds == NULL) {
329 struct nfs4_ff_layout_ds *mirror_ds = ERR_PTR(-ENODEV);
335 mirror_ds = FF_LAYOUT_MIRROR_DS(node);
338 if (cmpxchg(&mirror->mirror_ds, NULL, mirror_ds) &&
339 mirror_ds != ERR_PTR(-ENODEV))
343 if (IS_ERR(mirror->mirror_ds))
382 ds = mirror->mirror_ds->ds;
391 status = nfs4_pnfs_ds_connect(s, ds, &mirror->mirror_ds->id_node,
393 mirror->mirror_ds->ds_versions[0].version,
394 mirror->mirror_ds->ds_versions[0].minor_version);
401 if (mirror->mirror_ds->ds_versions[0].rsize > max_payload)
402 mirror->mirror_ds->ds_versions[0].rsize = max_payload;
403 if (mirror->mirror_ds->ds_versions[0].wsize > max_payload)
404 mirror->mirror_ds->ds_versions[0].wsize = max_payload;
427 if (mirror && !mirror->mirror_ds->ds_versions[0].tightly_coupled) {
450 switch (mirror->mirror_ds->ds_versions[0].version) {
561 if (!mirror->mirror_ds)
563 if (IS_ERR(mirror->mirror_ds))
565 devid = &mirror->mirror_ds->id_node;
582 if (!mirror || IS_ERR(mirror->mirror_ds))
584 if (!mirror->mirror_ds)
586 devid = &mirror->mirror_ds->id_node;