Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc28e1c2 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

pNFS/flexfiles: Clean up calls to pnfs_set_layoutcommit()



Let's just have one place where we check ff_layout_need_layoutcommit().

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
parent c001c87a
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -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;
}