ocfs2_file_aio_write(): switch to generic_perform_write()
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 12 Feb 2014 03:34:52 +0000 (22:34 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 2 Apr 2014 03:19:37 +0000 (23:19 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ocfs2/file.c

index 77b8a742866f86c3d6b97ba2129e87d75a4868e6..9c27adf4ac7249f48bf548621899006ed152a72f 100644 (file)
@@ -2381,9 +2381,12 @@ relock:
                        goto out_dio;
                }
        } else {
+               struct iov_iter from;
+               iov_iter_init(&from, iov, nr_segs, count, 0);
                current->backing_dev_info = file->f_mapping->backing_dev_info;
-               written = generic_file_buffered_write(iocb, iov, nr_segs, *ppos,
-                                                     count, 0);
+               written = generic_perform_write(file, &from, *ppos);
+               if (likely(written >= 0))
+                       iocb->ki_pos = *ppos + written;
                current->backing_dev_info = NULL;
        }