aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/file.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-02-11 22:34:52 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2014-04-01 23:19:37 -0400
commit58bfab395b302306baccbd1b5f38a9b890acb4e3 (patch)
treee686ff178fd9bd3740b8c3abaf3b867a63594413 /fs/ocfs2/file.c
parentaec605f4297d044a2a0d9ceedcf7d33af679c884 (diff)
downloadlinux-58bfab395b302306baccbd1b5f38a9b890acb4e3.tar.gz
ocfs2_file_aio_write(): switch to generic_perform_write()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ocfs2/file.c')
-rw-r--r--fs/ocfs2/file.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 77b8a742866f86..9c27adf4ac7249 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -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;
}