summaryrefslogtreecommitdiff
path: root/fs/nfs/write.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-06-04 09:23:51 +1000
committerDave Airlie <airlied@redhat.com>2015-06-04 09:23:51 +1000
commita8a50fce60e86f82e442bf84b8af20750b3d6105 (patch)
tree974c04f9f4f10275a8a9435113ea5b307d172bb6 /fs/nfs/write.c
parent9b5edbf7a462b7c846e9d4675b9b72b7a4e84de9 (diff)
parentc65b99f046843d2455aa231747b5a07a999a9f3d (diff)
Merge tag 'v4.1-rc6' into drm-next
Linux 4.1-rc6 backmerge 4.1-rc6 as some of the later pull reqs are based on newer bases and I'd prefer to do the fixup myself.
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)
trace_nfs_writeback_inode_enter(inode);
ret = filemap_write_and_wait(inode->i_mapping);
- if (!ret) {
- ret = nfs_commit_inode(inode, FLUSH_SYNC);
- if (!ret)
- pnfs_sync_inode(inode, true);
- }
+ if (ret)
+ goto out;
+ ret = nfs_commit_inode(inode, FLUSH_SYNC);
+ if (ret < 0)
+ goto out;
+ pnfs_sync_inode(inode, true);
+ ret = 0;
+out:
trace_nfs_writeback_inode_exit(inode, ret);
return ret;
}