pNFS/flexfiles: Clean up calls to pnfs_set_layoutcommit()
authorTrond Myklebust <trond.myklebust@primarydata.com>
Sun, 26 Jun 2016 20:14:40 +0000 (16:14 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 5 Jul 2016 22:52:26 +0000 (18:52 -0400)
Let's just have one place where we check ff_layout_need_layoutcommit().

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/flexfilelayout/flexfilelayout.c

index 2689c9e9dc3c23de4e5556183bdef3cd03d16d9b..14f2ed3f1a5b49bc1c92e3f538be3394443a75a1 100644 (file)
@@ -1325,15 +1325,16 @@ ff_layout_need_layoutcommit(struct pnfs_layout_segment *lseg)
  * we always send layoutcommit after DS writes.
  */
 static void
-ff_layout_set_layoutcommit(struct nfs_pgio_header *hdr)
+ff_layout_set_layoutcommit(struct inode *inode,
+               struct pnfs_layout_segment *lseg,
+               loff_t end_offset)
 {
-       if (!ff_layout_need_layoutcommit(hdr->lseg))
+       if (!ff_layout_need_layoutcommit(lseg))
                return;
 
-       pnfs_set_layoutcommit(hdr->inode, hdr->lseg,
-                       hdr->mds_offset + hdr->res.count);
-       dprintk("%s inode %lu pls_end_pos %lu\n", __func__, hdr->inode->i_ino,
-               (unsigned long) NFS_I(hdr->inode)->layout->plh_lwb);
+       pnfs_set_layoutcommit(inode, lseg, end_offset);
+       dprintk("%s inode %lu pls_end_pos %llu\n", __func__, inode->i_ino,
+               (unsigned long long) NFS_I(inode)->layout->plh_lwb);
 }
 
 static bool
@@ -1494,7 +1495,8 @@ static int ff_layout_write_done_cb(struct rpc_task *task,
 
        if (hdr->res.verf->committed == NFS_FILE_SYNC ||
            hdr->res.verf->committed == NFS_DATA_SYNC)
-               ff_layout_set_layoutcommit(hdr);
+               ff_layout_set_layoutcommit(hdr->inode, hdr->lseg,
+                               hdr->mds_offset + (loff_t)hdr->res.count);
 
        /* zero out fattr since we don't care DS attr at all */
        hdr->fattr.valid = 0;
@@ -1530,8 +1532,7 @@ static int ff_layout_commit_done_cb(struct rpc_task *task,
                return -EAGAIN;
        }
 
-       if (ff_layout_need_layoutcommit(data->lseg))
-               pnfs_set_layoutcommit(data->inode, data->lseg, data->lwb);
+       ff_layout_set_layoutcommit(data->inode, data->lseg, data->lwb);
 
        return 0;
 }