diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 7d620970f2e1addfbd447dc7b4a0bd1233bc9ec6..ca699ddc11c10e2e012f200d37213c90739af286 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -657,7 +657,10 @@ ssize_t nfs_file_write(struct kiocb *iocb, struct iov_iter *from) if (result <= 0) goto out; - written = generic_write_sync(iocb, result); + result = generic_write_sync(iocb, result); + if (result < 0) + goto out; + written = result; iocb->ki_pos += written; /* Return error values */