struct nfs4_ff_layout_mirror *mirror,
bool create)
{
- if (mirror == NULL || IS_ERR(mirror->mirror_ds))
+ if (mirror == NULL)
goto outerr;
if (mirror->mirror_ds == NULL) {
if (create) {
}
return true;
outerr:
- pnfs_error_mark_layout_for_return(lseg->pls_layout->plh_inode, lseg);
return false;
}
int status;
if (!ff_layout_mirror_valid(lseg, mirror, true))
- goto out;
+ goto noconnect;
ds = mirror->mirror_ds->ds;
/* matching smp_wmb() in _nfs4_pnfs_v3/4_ds_connect */
mirror->mirror_ds->ds_versions[0].wsize = max_payload;
goto out;
}
+noconnect:
ff_layout_track_ds_error(FF_LAYOUT_FROM_HDR(lseg->pls_layout),
mirror, lseg->pls_range.offset,
lseg->pls_range.length, NFS4ERR_NXIO,