This seems completely extraneous. Also note this was being called from within a spinlock. Signed-off-by: Fred Isaman <iisaman@xxxxxxxxxx> --- fs/nfs/pnfs.c | 39 --------------------------------------- fs/nfs/pnfs.h | 1 - fs/nfs/write.c | 8 +------- 3 files changed, 1 insertions(+), 47 deletions(-) diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 456b057..3d5c17b 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -1428,45 +1428,6 @@ pnfs_pageio_init_write(struct nfs_pageio_descriptor *pgio, struct inode *inode) pnfs_set_pg_test(inode, pgio); } -/* - * Get a layoutout for COMMIT - */ -void -pnfs_update_layout_commit(struct inode *inode, - struct list_head *head, - pgoff_t idx_start, - unsigned int npages) -{ - struct nfs_server *nfss = NFS_SERVER(inode); - struct nfs_page *nfs_page = nfs_list_entry(head->next); - u64 count; - loff_t start; - int status; - - dprintk("--> %s inode %p layout range: %Zd@%llu\n", __func__, inode, - (size_t)(npages * PAGE_CACHE_SIZE), - (u64)((u64)idx_start << PAGE_CACHE_SHIFT)); - - if (!pnfs_enabled_sb(nfss)) - return; - - /* COMMIT indicates the whole file with offset = count = 0 - * whereas layout segments indicate whole file with offset = 0, - * count = NFS4_MAX_UINT64. - */ - count = (size_t)npages * PAGE_CACHE_SIZE; - start = (loff_t)idx_start << PAGE_CACHE_SHIFT; - if (start == 0 && count == 0) - count = NFS4_MAX_UINT64; - - status = _pnfs_update_layout(inode, nfs_page->wb_context, - count, - start, - IOMODE_RW, - NULL); - dprintk("%s virt update status %d\n", __func__, status); -} - static int pnfs_call_done(struct pnfs_call_data *pdata, struct rpc_task *task, void *data) { diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h index e463c76..339485d 100644 --- a/fs/nfs/pnfs.h +++ b/fs/nfs/pnfs.h @@ -58,7 +58,6 @@ enum pnfs_try_status _pnfs_try_to_commit(struct nfs_write_data *, void pnfs_pageio_init_read(struct nfs_pageio_descriptor *, struct inode *, struct nfs_open_context *, struct list_head *); void pnfs_pageio_init_write(struct nfs_pageio_descriptor *, struct inode *); -void pnfs_update_layout_commit(struct inode *, struct list_head *, pgoff_t, unsigned int); void pnfs_get_layout_done(struct nfs4_pnfs_layoutget *, int rpc_status); int pnfs_layout_process(struct nfs4_pnfs_layoutget *lgp); void pnfs_layout_release(struct pnfs_layout_type *, struct nfs4_pnfs_layout_segment *range); diff --git a/fs/nfs/write.c b/fs/nfs/write.c index e2fbddb..960006e 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -538,14 +538,8 @@ nfs_scan_commit(struct inode *inode, struct list_head *dst, pgoff_t idx_start, u ret = nfs_scan_list(nfsi, dst, idx_start, npages, NFS_PAGE_TAG_COMMIT); if (ret > 0) nfsi->ncommit -= ret; - if (nfs_need_commit(NFS_I(inode))) { + if (nfs_need_commit(NFS_I(inode))) __mark_inode_dirty(inode, I_DIRTY_DATASYNC); -#ifdef CONFIG_NFS_V4_1 - /* FIXME: change pnfs_update_layout_commit to derive - idx_start from head of list and pass ret rather than npages */ - pnfs_update_layout_commit(inode, dst, idx_start, npages); -#endif /* CONFIG_NFS_V4_1 */ - } return ret; } #else -- 1.6.6.1 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html