aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/flexfilelayout/flexfilelayoutdev.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@hammerspace.com>2019-02-28 10:34:13 -0500
committerTrond Myklebust <trond.myklebust@hammerspace.com>2019-03-01 22:37:38 -0500
commit749da527b3e7bff92cc76b907bc222ef2df6fcdc (patch)
tree0b01b02bbedf1fa5309f10e7ab2db3fec1f00bb2 /fs/nfs/flexfilelayout/flexfilelayoutdev.c
parent76c6690522bb3e335ce1e201360df8776cab4d2c (diff)
NFS/flexfiles: Simplify nfs4_ff_layout_select_ds_fh()
Pass in a pointer to the mirror rather than having to retrieve it from the array and then verify the resulting pointer. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/flexfilelayout/flexfilelayoutdev.c')
-rw-r--r--fs/nfs/flexfilelayout/flexfilelayoutdev.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/fs/nfs/flexfilelayout/flexfilelayoutdev.c b/fs/nfs/flexfilelayout/flexfilelayoutdev.c
index 7fd92226e4b9..3a2419313fe9 100644
--- a/fs/nfs/flexfilelayout/flexfilelayoutdev.c
+++ b/fs/nfs/flexfilelayout/flexfilelayoutdev.c
@@ -351,21 +351,10 @@ ff_layout_get_mirror_cred(struct nfs4_ff_layout_mirror *mirror, u32 iomode)
351} 351}
352 352
353struct nfs_fh * 353struct nfs_fh *
354nfs4_ff_layout_select_ds_fh(struct pnfs_layout_segment *lseg, u32 mirror_idx) 354nfs4_ff_layout_select_ds_fh(struct nfs4_ff_layout_mirror *mirror)
355{ 355{
356 struct nfs4_ff_layout_mirror *mirror = FF_LAYOUT_COMP(lseg, mirror_idx);
357 struct nfs_fh *fh = NULL;
358
359 if (!ff_layout_mirror_valid(lseg, mirror, false)) {
360 pr_err_ratelimited("NFS: %s: No data server for mirror offset index %d\n",
361 __func__, mirror_idx);
362 goto out;
363 }
364
365 /* FIXME: For now assume there is only 1 version available for the DS */ 356 /* FIXME: For now assume there is only 1 version available for the DS */
366 fh = &mirror->fh_versions[0]; 357 return &mirror->fh_versions[0];
367out:
368 return fh;
369} 358}
370 359
371int 360int