pNFS: Clean up - add a helper to initialise struct layoutreturn_args
authorTrond Myklebust <trond.myklebust@primarydata.com>
Wed, 16 Nov 2016 02:47:27 +0000 (21:47 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 1 Dec 2016 22:21:47 +0000 (17:21 -0500)
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/pnfs.c

index d7b5ad437b1408cfb11753562f705b5b28961aac..a93afdd37203bb2a9539e28f7a5a74f20a42a92c 100644 (file)
@@ -1014,6 +1014,23 @@ pnfs_prepare_layoutreturn(struct pnfs_layout_hdr *lo,
        return true;
 }
 
+static void
+pnfs_init_layoutreturn_args(struct nfs4_layoutreturn_args *args,
+               struct pnfs_layout_hdr *lo,
+               const nfs4_stateid *stateid,
+               enum pnfs_iomode iomode)
+{
+       struct inode *inode = lo->plh_inode;
+
+       args->layout_type = NFS_SERVER(inode)->pnfs_curr_ld->id;
+       args->inode = inode;
+       args->range.iomode = iomode;
+       args->range.offset = 0;
+       args->range.length = NFS4_MAX_UINT64;
+       args->layout = lo;
+       nfs4_stateid_copy(&args->stateid, stateid);
+}
+
 static int
 pnfs_send_layoutreturn(struct pnfs_layout_hdr *lo, const nfs4_stateid *stateid,
                       enum pnfs_iomode iomode, bool sync)
@@ -1032,13 +1049,7 @@ pnfs_send_layoutreturn(struct pnfs_layout_hdr *lo, const nfs4_stateid *stateid,
                goto out;
        }
 
-       nfs4_stateid_copy(&lrp->args.stateid, stateid);
-       lrp->args.layout_type = NFS_SERVER(ino)->pnfs_curr_ld->id;
-       lrp->args.inode = ino;
-       lrp->args.range.iomode = iomode;
-       lrp->args.range.offset = 0;
-       lrp->args.range.length = NFS4_MAX_UINT64;
-       lrp->args.layout = lo;
+       pnfs_init_layoutreturn_args(&lrp->args, lo, stateid, iomode);
        lrp->clp = NFS_SERVER(ino)->nfs_client;
        lrp->cred = lo->plh_lc_cred;