Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 60bb4529 authored by Al Viro's avatar Al Viro
Browse files

__generic_file_write_iter(): fix handling of sync error after DIO



If DIO results in short write and sync write fails, we want to bugger off
whether the DIO part has written anything or not; the logics on the return
will take care of the right return value.

Cc: stable@vger.kernel.org [3.16]
Reported-by: default avatarAnton Altaparmakov <aia21@cam.ac.uk>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent c7f3888a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2584,7 +2584,7 @@ ssize_t __generic_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
		 * that this differs from normal direct-io semantics, which
		 * will return -EFOO even if some bytes were written.
		 */
		if (unlikely(status < 0) && !written) {
		if (unlikely(status < 0)) {
			err = status;
			goto out;
		}