diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-02-11 19:31:06 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-04-01 23:19:35 -0400 |
commit | 867c4f9329e1bf7d0967bec761f033373f72b55e (patch) | |
tree | d3418a246944374535487a1d3b973bc5d0035b23 /fs | |
parent | fcacafd269adc88f41b68cb77a3f957a66563428 (diff) |
btrfs_file_aio_write(): get rid of ppos
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/btrfs/file.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 34e096201da1..f6032a2bfab9 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c | |||
@@ -1631,7 +1631,7 @@ again: | |||
1631 | static ssize_t __btrfs_direct_write(struct kiocb *iocb, | 1631 | static ssize_t __btrfs_direct_write(struct kiocb *iocb, |
1632 | const struct iovec *iov, | 1632 | const struct iovec *iov, |
1633 | unsigned long nr_segs, loff_t pos, | 1633 | unsigned long nr_segs, loff_t pos, |
1634 | loff_t *ppos, size_t count, size_t ocount) | 1634 | size_t count, size_t ocount) |
1635 | { | 1635 | { |
1636 | struct file *file = iocb->ki_filp; | 1636 | struct file *file = iocb->ki_filp; |
1637 | struct iov_iter i; | 1637 | struct iov_iter i; |
@@ -1640,7 +1640,7 @@ static ssize_t __btrfs_direct_write(struct kiocb *iocb, | |||
1640 | loff_t endbyte; | 1640 | loff_t endbyte; |
1641 | int err; | 1641 | int err; |
1642 | 1642 | ||
1643 | written = generic_file_direct_write(iocb, iov, &nr_segs, pos, ppos, | 1643 | written = generic_file_direct_write(iocb, iov, &nr_segs, pos, &iocb->ki_pos, |
1644 | count, ocount); | 1644 | count, ocount); |
1645 | 1645 | ||
1646 | if (written < 0 || written == count) | 1646 | if (written < 0 || written == count) |
@@ -1659,7 +1659,7 @@ static ssize_t __btrfs_direct_write(struct kiocb *iocb, | |||
1659 | if (err) | 1659 | if (err) |
1660 | goto out; | 1660 | goto out; |
1661 | written += written_buffered; | 1661 | written += written_buffered; |
1662 | *ppos = pos + written_buffered; | 1662 | iocb->ki_pos = pos + written_buffered; |
1663 | invalidate_mapping_pages(file->f_mapping, pos >> PAGE_CACHE_SHIFT, | 1663 | invalidate_mapping_pages(file->f_mapping, pos >> PAGE_CACHE_SHIFT, |
1664 | endbyte >> PAGE_CACHE_SHIFT); | 1664 | endbyte >> PAGE_CACHE_SHIFT); |
1665 | out: | 1665 | out: |
@@ -1691,7 +1691,6 @@ static ssize_t btrfs_file_aio_write(struct kiocb *iocb, | |||
1691 | struct file *file = iocb->ki_filp; | 1691 | struct file *file = iocb->ki_filp; |
1692 | struct inode *inode = file_inode(file); | 1692 | struct inode *inode = file_inode(file); |
1693 | struct btrfs_root *root = BTRFS_I(inode)->root; | 1693 | struct btrfs_root *root = BTRFS_I(inode)->root; |
1694 | loff_t *ppos = &iocb->ki_pos; | ||
1695 | u64 start_pos; | 1694 | u64 start_pos; |
1696 | ssize_t num_written = 0; | 1695 | ssize_t num_written = 0; |
1697 | ssize_t err = 0; | 1696 | ssize_t err = 0; |
@@ -1759,7 +1758,7 @@ static ssize_t btrfs_file_aio_write(struct kiocb *iocb, | |||
1759 | 1758 | ||
1760 | if (unlikely(file->f_flags & O_DIRECT)) { | 1759 | if (unlikely(file->f_flags & O_DIRECT)) { |
1761 | num_written = __btrfs_direct_write(iocb, iov, nr_segs, | 1760 | num_written = __btrfs_direct_write(iocb, iov, nr_segs, |
1762 | pos, ppos, count, ocount); | 1761 | pos, count, ocount); |
1763 | } else { | 1762 | } else { |
1764 | struct iov_iter i; | 1763 | struct iov_iter i; |
1765 | 1764 | ||
@@ -1767,7 +1766,7 @@ static ssize_t btrfs_file_aio_write(struct kiocb *iocb, | |||
1767 | 1766 | ||
1768 | num_written = __btrfs_buffered_write(file, &i, pos); | 1767 | num_written = __btrfs_buffered_write(file, &i, pos); |
1769 | if (num_written > 0) | 1768 | if (num_written > 0) |
1770 | *ppos = pos + num_written; | 1769 | iocb->ki_pos = pos + num_written; |
1771 | } | 1770 | } |
1772 | 1771 | ||
1773 | mutex_unlock(&inode->i_mutex); | 1772 | mutex_unlock(&inode->i_mutex); |