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.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c
index d12a4be613a5..dfc19f1575a1 100644
--- a/fs/nfs/write.c
+++ b/fs/nfs/write.c
@@ -1845,12 +1845,15 @@ int nfs_wb_all(struct inode *inode)
1845 trace_nfs_writeback_inode_enter(inode); 1845 trace_nfs_writeback_inode_enter(inode);
1846 1846
1847 ret = filemap_write_and_wait(inode->i_mapping); 1847 ret = filemap_write_and_wait(inode->i_mapping);
1848 if (!ret) { 1848 if (ret)
1849 ret = nfs_commit_inode(inode, FLUSH_SYNC); 1849 goto out;
1850 if (!ret) 1850 ret = nfs_commit_inode(inode, FLUSH_SYNC);
1851 pnfs_sync_inode(inode, true); 1851 if (ret < 0)
1852 } 1852 goto out;
1853 pnfs_sync_inode(inode, true);
1854 ret = 0;
1853 1855
1856out:
1854 trace_nfs_writeback_inode_exit(inode, ret); 1857 trace_nfs_writeback_inode_exit(inode, ret);
1855 return ret; 1858 return ret;
1856} 1859}