diff --git a/fs/nfs/file.c b/fs/nfs/file.c index d264363559db6..426e4e06b3332 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -629,11 +629,11 @@ ssize_t nfs_file_write(struct kiocb *iocb, struct iov_iter *from) if (result <= 0) goto out; - result = generic_write_sync(iocb, result); - if (result < 0) - goto out; written = result; iocb->ki_pos += written; + result = generic_write_sync(iocb, written); + if (result < 0) + goto out; /* Return error values */ if (nfs_need_check_write(file, inode)) {