diff options
Diffstat (limited to 'fs/reiserfs/inode.c')
-rw-r--r-- | fs/reiserfs/inode.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index e3ca04894919..63b2b0ec49e6 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -3279,15 +3279,15 @@ static int reiserfs_releasepage(struct page *page, gfp_t unused_gfp_flags) | |||
3279 | * to do in this section of the code. | 3279 | * to do in this section of the code. |
3280 | */ | 3280 | */ |
3281 | static ssize_t reiserfs_direct_IO(int rw, struct kiocb *iocb, | 3281 | static ssize_t reiserfs_direct_IO(int rw, struct kiocb *iocb, |
3282 | const struct iovec *iov, loff_t offset, | 3282 | struct iov_iter *iter, loff_t offset) |
3283 | unsigned long nr_segs) | ||
3284 | { | 3283 | { |
3285 | struct file *file = iocb->ki_filp; | 3284 | struct file *file = iocb->ki_filp; |
3286 | struct inode *inode = file->f_mapping->host; | 3285 | struct inode *inode = file->f_mapping->host; |
3286 | size_t count = iov_iter_count(iter); | ||
3287 | ssize_t ret; | 3287 | ssize_t ret; |
3288 | 3288 | ||
3289 | ret = blockdev_direct_IO(rw, iocb, inode, iov, offset, nr_segs, | 3289 | ret = blockdev_direct_IO(rw, iocb, inode, iter, offset, |
3290 | reiserfs_get_blocks_direct_io); | 3290 | reiserfs_get_blocks_direct_io); |
3291 | 3291 | ||
3292 | /* | 3292 | /* |
3293 | * In case of error extending write may have instantiated a few | 3293 | * In case of error extending write may have instantiated a few |
@@ -3295,7 +3295,7 @@ static ssize_t reiserfs_direct_IO(int rw, struct kiocb *iocb, | |||
3295 | */ | 3295 | */ |
3296 | if (unlikely((rw & WRITE) && ret < 0)) { | 3296 | if (unlikely((rw & WRITE) && ret < 0)) { |
3297 | loff_t isize = i_size_read(inode); | 3297 | loff_t isize = i_size_read(inode); |
3298 | loff_t end = offset + iov_length(iov, nr_segs); | 3298 | loff_t end = offset + count; |
3299 | 3299 | ||
3300 | if ((end > isize) && inode_newsize_ok(inode, isize) == 0) { | 3300 | if ((end > isize) && inode_newsize_ok(inode, isize) == 0) { |
3301 | truncate_setsize(inode, isize); | 3301 | truncate_setsize(inode, isize); |