aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r--fs/nfs/write.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index 53ff70e23993..7f40ea305543 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -421,6 +421,7 @@ static void
421nfs_mark_request_dirty(struct nfs_page *req) 421nfs_mark_request_dirty(struct nfs_page *req)
422{ 422{
423 __set_page_dirty_nobuffers(req->wb_page); 423 __set_page_dirty_nobuffers(req->wb_page);
424 __mark_inode_dirty(req->wb_page->mapping->host, I_DIRTY_DATASYNC);
424} 425}
425 426
426#if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) 427#if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4)
@@ -660,6 +661,7 @@ static int nfs_writepage_setup(struct nfs_open_context *ctx, struct page *page,
660 req = nfs_setup_write_request(ctx, page, offset, count); 661 req = nfs_setup_write_request(ctx, page, offset, count);
661 if (IS_ERR(req)) 662 if (IS_ERR(req))
662 return PTR_ERR(req); 663 return PTR_ERR(req);
664 nfs_mark_request_dirty(req);
663 /* Update file length */ 665 /* Update file length */
664 nfs_grow_file(page, offset, count); 666 nfs_grow_file(page, offset, count);
665 nfs_mark_uptodate(page, req->wb_pgbase, req->wb_bytes); 667 nfs_mark_uptodate(page, req->wb_pgbase, req->wb_bytes);
@@ -739,8 +741,6 @@ int nfs_updatepage(struct file *file, struct page *page,
739 status = nfs_writepage_setup(ctx, page, offset, count); 741 status = nfs_writepage_setup(ctx, page, offset, count);
740 if (status < 0) 742 if (status < 0)
741 nfs_set_pageerror(page); 743 nfs_set_pageerror(page);
742 else
743 __set_page_dirty_nobuffers(page);
744 744
745 dprintk("NFS: nfs_updatepage returns %d (isize %lld)\n", 745 dprintk("NFS: nfs_updatepage returns %d (isize %lld)\n",
746 status, (long long)i_size_read(inode)); 746 status, (long long)i_size_read(inode));