提交 5cb6c6c7 编写于 作者: A Al Viro

generic_file_direct_write(): get rid of ppos argument

always equal to &iocb->ki_pos.
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 867c4f93
...@@ -1640,7 +1640,7 @@ static ssize_t __btrfs_direct_write(struct kiocb *iocb, ...@@ -1640,7 +1640,7 @@ static ssize_t __btrfs_direct_write(struct kiocb *iocb,
loff_t endbyte; loff_t endbyte;
int err; int err;
written = generic_file_direct_write(iocb, iov, &nr_segs, pos, &iocb->ki_pos, written = generic_file_direct_write(iocb, iov, &nr_segs, pos,
count, ocount); count, ocount);
if (written < 0 || written == count) if (written < 0 || written == count)
......
...@@ -1143,8 +1143,7 @@ static ssize_t fuse_file_aio_write(struct kiocb *iocb, const struct iovec *iov, ...@@ -1143,8 +1143,7 @@ static ssize_t fuse_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
goto out; goto out;
if (file->f_flags & O_DIRECT) { if (file->f_flags & O_DIRECT) {
written = generic_file_direct_write(iocb, iov, &nr_segs, written = generic_file_direct_write(iocb, iov, &nr_segs, pos,
pos, &iocb->ki_pos,
count, ocount); count, ocount);
if (written < 0 || written == count) if (written < 0 || written == count)
goto out; goto out;
......
...@@ -2375,7 +2375,7 @@ static ssize_t ocfs2_file_aio_write(struct kiocb *iocb, ...@@ -2375,7 +2375,7 @@ static ssize_t ocfs2_file_aio_write(struct kiocb *iocb,
if (direct_io) { if (direct_io) {
written = generic_file_direct_write(iocb, iov, &nr_segs, *ppos, written = generic_file_direct_write(iocb, iov, &nr_segs, *ppos,
ppos, count, ocount); count, ocount);
if (written < 0) { if (written < 0) {
ret = written; ret = written;
goto out_dio; goto out_dio;
......
...@@ -699,7 +699,7 @@ xfs_file_dio_aio_write( ...@@ -699,7 +699,7 @@ xfs_file_dio_aio_write(
trace_xfs_file_direct_write(ip, count, iocb->ki_pos, 0); trace_xfs_file_direct_write(ip, count, iocb->ki_pos, 0);
ret = generic_file_direct_write(iocb, iovp, ret = generic_file_direct_write(iocb, iovp,
&nr_segs, pos, &iocb->ki_pos, count, ocount); &nr_segs, pos, count, ocount);
out: out:
xfs_rw_iunlock(ip, iolock); xfs_rw_iunlock(ip, iolock);
......
...@@ -2395,7 +2395,7 @@ extern ssize_t generic_file_aio_read(struct kiocb *, const struct iovec *, unsig ...@@ -2395,7 +2395,7 @@ extern ssize_t generic_file_aio_read(struct kiocb *, const struct iovec *, unsig
extern ssize_t __generic_file_aio_write(struct kiocb *, const struct iovec *, unsigned long); extern ssize_t __generic_file_aio_write(struct kiocb *, const struct iovec *, unsigned long);
extern ssize_t generic_file_aio_write(struct kiocb *, const struct iovec *, unsigned long, loff_t); extern ssize_t generic_file_aio_write(struct kiocb *, const struct iovec *, unsigned long, loff_t);
extern ssize_t generic_file_direct_write(struct kiocb *, const struct iovec *, extern ssize_t generic_file_direct_write(struct kiocb *, const struct iovec *,
unsigned long *, loff_t, loff_t *, size_t, size_t); unsigned long *, loff_t, size_t, size_t);
extern ssize_t generic_file_buffered_write(struct kiocb *, const struct iovec *, extern ssize_t generic_file_buffered_write(struct kiocb *, const struct iovec *,
unsigned long, loff_t, size_t, ssize_t); unsigned long, loff_t, size_t, ssize_t);
extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos); extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos);
......
...@@ -1985,7 +1985,7 @@ EXPORT_SYMBOL(pagecache_write_end); ...@@ -1985,7 +1985,7 @@ EXPORT_SYMBOL(pagecache_write_end);
ssize_t ssize_t
generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov,
unsigned long *nr_segs, loff_t pos, loff_t *ppos, unsigned long *nr_segs, loff_t pos,
size_t count, size_t ocount) size_t count, size_t ocount)
{ {
struct file *file = iocb->ki_filp; struct file *file = iocb->ki_filp;
...@@ -2046,7 +2046,7 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, ...@@ -2046,7 +2046,7 @@ generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov,
i_size_write(inode, pos); i_size_write(inode, pos);
mark_inode_dirty(inode); mark_inode_dirty(inode);
} }
*ppos = pos; iocb->ki_pos = pos;
} }
out: out:
return written; return written;
...@@ -2265,7 +2265,7 @@ ssize_t __generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov, ...@@ -2265,7 +2265,7 @@ ssize_t __generic_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
ssize_t written_buffered; ssize_t written_buffered;
written = generic_file_direct_write(iocb, iov, &nr_segs, pos, written = generic_file_direct_write(iocb, iov, &nr_segs, pos,
&iocb->ki_pos, count, ocount); count, ocount);
if (written < 0 || written == count) if (written < 0 || written == count)
goto out; goto out;
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册