This is a note to let you know that I've just added the patch titled __generic_file_write_iter(): fix handling of sync error after DIO to the 3.16-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: __generic_file_write_iter-fix-handling-of-sync-error-after-dio.patch and it can be found in the queue-3.16 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 60bb45297f7551833346c5cebc6d483ea17ea5f2 Mon Sep 17 00:00:00 2001 From: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri, 8 Aug 2014 12:39:16 -0400 Subject: __generic_file_write_iter(): fix handling of sync error after DIO From: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 60bb45297f7551833346c5cebc6d483ea17ea5f2 upstream. 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. Reported-by: Anton Altaparmakov <aia21@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- mm/filemap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2584,7 +2584,7 @@ ssize_t __generic_file_write_iter(struct * 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; } Patches currently in stable-queue which might be from viro@xxxxxxxxxxxxxxxxxx are queue-3.16/__generic_file_write_iter-fix-handling-of-sync-error-after-dio.patch queue-3.16/fix-ebusy-on-umount-from-mnt_shrinkable.patch queue-3.16/get-rid-of-propagate_umount-mistakenly-treating-slaves-as-busy.patch queue-3.16/fix-copy_tree-regression.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html