aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/direct.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-04-07 11:52:01 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-05-01 19:58:39 -0400
commite259221763a40403d5bb232209998e8c45804ab8 (patch)
tree6f940ba17f38b693e495ad5267b1988dd66c9c0f /fs/nfs/direct.c
parentdde0c2e79848298cc25621ad080d47f94dbd7cce (diff)
fs: simplify the generic_write_sync prototype
The kiocb already has the new position, so use that. The only interesting case is AIO, where we currently don't bother updating ki_pos. We're about to free the kiocb after we're done, so we might as well update it to make everyone's life simpler. While we're at it also return the bytes written argument passed in if we were successful so that the boilerplate error switch code in the callers can go away. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/nfs/direct.c')
-rw-r--r--fs/nfs/direct.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c
index be86de9a77d7..0b9fca040b0c 100644
--- a/fs/nfs/direct.c
+++ b/fs/nfs/direct.c
@@ -1054,7 +1054,9 @@ ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter)
1054 if (i_size_read(inode) < iocb->ki_pos) 1054 if (i_size_read(inode) < iocb->ki_pos)
1055 i_size_write(inode, iocb->ki_pos); 1055 i_size_write(inode, iocb->ki_pos);
1056 spin_unlock(&inode->i_lock); 1056 spin_unlock(&inode->i_lock);
1057 generic_write_sync(iocb, pos, result); 1057
1058 /* XXX: should check the generic_write_sync retval */
1059 generic_write_sync(iocb, result);
1058 } 1060 }
1059 } 1061 }
1060 nfs_direct_req_release(dreq); 1062 nfs_direct_req_release(dreq);