diff options
Diffstat (limited to 'fs/ext3/inode.c')
-rw-r--r-- | fs/ext3/inode.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index 2c6ccc49ba27..13c0868c7160 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <linux/writeback.h> | 27 | #include <linux/writeback.h> |
28 | #include <linux/mpage.h> | 28 | #include <linux/mpage.h> |
29 | #include <linux/namei.h> | 29 | #include <linux/namei.h> |
30 | #include <linux/aio.h> | 30 | #include <linux/uio.h> |
31 | #include "ext3.h" | 31 | #include "ext3.h" |
32 | #include "xattr.h" | 32 | #include "xattr.h" |
33 | #include "acl.h" | 33 | #include "acl.h" |
@@ -1820,8 +1820,8 @@ static int ext3_releasepage(struct page *page, gfp_t wait) | |||
1820 | * crashes then stale disk data _may_ be exposed inside the file. But current | 1820 | * crashes then stale disk data _may_ be exposed inside the file. But current |
1821 | * VFS code falls back into buffered path in that case so we are safe. | 1821 | * VFS code falls back into buffered path in that case so we are safe. |
1822 | */ | 1822 | */ |
1823 | static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb, | 1823 | static ssize_t ext3_direct_IO(struct kiocb *iocb, struct iov_iter *iter, |
1824 | struct iov_iter *iter, loff_t offset) | 1824 | loff_t offset) |
1825 | { | 1825 | { |
1826 | struct file *file = iocb->ki_filp; | 1826 | struct file *file = iocb->ki_filp; |
1827 | struct inode *inode = file->f_mapping->host; | 1827 | struct inode *inode = file->f_mapping->host; |
@@ -1832,9 +1832,9 @@ static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb, | |||
1832 | size_t count = iov_iter_count(iter); | 1832 | size_t count = iov_iter_count(iter); |
1833 | int retries = 0; | 1833 | int retries = 0; |
1834 | 1834 | ||
1835 | trace_ext3_direct_IO_enter(inode, offset, count, rw); | 1835 | trace_ext3_direct_IO_enter(inode, offset, count, iov_iter_rw(iter)); |
1836 | 1836 | ||
1837 | if (rw == WRITE) { | 1837 | if (iov_iter_rw(iter) == WRITE) { |
1838 | loff_t final_size = offset + count; | 1838 | loff_t final_size = offset + count; |
1839 | 1839 | ||
1840 | if (final_size > inode->i_size) { | 1840 | if (final_size > inode->i_size) { |
@@ -1856,12 +1856,12 @@ static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb, | |||
1856 | } | 1856 | } |
1857 | 1857 | ||
1858 | retry: | 1858 | retry: |
1859 | ret = blockdev_direct_IO(rw, iocb, inode, iter, offset, ext3_get_block); | 1859 | ret = blockdev_direct_IO(iocb, inode, iter, offset, ext3_get_block); |
1860 | /* | 1860 | /* |
1861 | * In case of error extending write may have instantiated a few | 1861 | * In case of error extending write may have instantiated a few |
1862 | * blocks outside i_size. Trim these off again. | 1862 | * blocks outside i_size. Trim these off again. |
1863 | */ | 1863 | */ |
1864 | if (unlikely((rw & WRITE) && ret < 0)) { | 1864 | if (unlikely(iov_iter_rw(iter) == WRITE && ret < 0)) { |
1865 | loff_t isize = i_size_read(inode); | 1865 | loff_t isize = i_size_read(inode); |
1866 | loff_t end = offset + count; | 1866 | loff_t end = offset + count; |
1867 | 1867 | ||
@@ -1908,7 +1908,7 @@ retry: | |||
1908 | ret = err; | 1908 | ret = err; |
1909 | } | 1909 | } |
1910 | out: | 1910 | out: |
1911 | trace_ext3_direct_IO_exit(inode, offset, count, rw, ret); | 1911 | trace_ext3_direct_IO_exit(inode, offset, count, iov_iter_rw(iter), ret); |
1912 | return ret; | 1912 | return ret; |
1913 | } | 1913 | } |
1914 | 1914 | ||