aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext3/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ext3/inode.c')
-rw-r--r--fs/ext3/inode.c16
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 */
1823static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb, 1823static 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
1858retry: 1858retry:
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 }
1910out: 1910out:
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