__generic_file_write_iter: keep ->ki_pos and return value consistent
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 7 Apr 2015 14:22:53 +0000 (10:22 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 12 Apr 2015 02:29:47 +0000 (22:29 -0400)
commit0b8def9d6dfa6b2a9a2740cf81d8d2c134688d39
treeb9f8769682257d9a8ec4ccb0a3253d021fd68ce8
parente9d1593d4e9311bca040ecf6ec7599e6f235140c
__generic_file_write_iter: keep ->ki_pos and return value consistent

A side effect worth noting: in O_APPEND case we set ->ki_pos early,
so if it turns out to be an error or a zero-length write, we'll
end up with ->ki_pos modified.  Safe, since all callers never
look at the ->ki_pos after the call of __generic_file_write_iter()
returning non-positive, all the way to caller of ->write_iter() and
those discard ->ki_pos when getting that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
mm/filemap.c