inode.c (a6cbcd4a4a85e2fdb0b3344b88df2e8b3d526b9e) inode.c (31b140398ce56ab41646eda7f02bcb78d6a4c916)
1/*
2 * Copyright (C) International Business Machines Corp., 2000-2004
3 * Portions Copyright (C) Christoph Hellwig, 2001-2002
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.

--- 325 unchanged lines hidden (view full) ---

334 struct iov_iter *iter, loff_t offset)
335{
336 struct file *file = iocb->ki_filp;
337 struct address_space *mapping = file->f_mapping;
338 struct inode *inode = file->f_mapping->host;
339 size_t count = iov_iter_count(iter);
340 ssize_t ret;
341
1/*
2 * Copyright (C) International Business Machines Corp., 2000-2004
3 * Portions Copyright (C) Christoph Hellwig, 2001-2002
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.

--- 325 unchanged lines hidden (view full) ---

334 struct iov_iter *iter, loff_t offset)
335{
336 struct file *file = iocb->ki_filp;
337 struct address_space *mapping = file->f_mapping;
338 struct inode *inode = file->f_mapping->host;
339 size_t count = iov_iter_count(iter);
340 ssize_t ret;
341
342 ret = blockdev_direct_IO(rw, iocb, inode, iter->iov, offset,
343 iter->nr_segs, jfs_get_block);
342 ret = blockdev_direct_IO(rw, iocb, inode, iter, offset, jfs_get_block);
344
345 /*
346 * In case of error extending write may have instantiated a few
347 * blocks outside i_size. Trim these off again.
348 */
349 if (unlikely((rw & WRITE) && ret < 0)) {
350 loff_t isize = i_size_read(inode);
351 loff_t end = offset + count;

--- 73 unchanged lines hidden ---
343
344 /*
345 * In case of error extending write may have instantiated a few
346 * blocks outside i_size. Trim these off again.
347 */
348 if (unlikely((rw & WRITE) && ret < 0)) {
349 loff_t isize = i_size_read(inode);
350 loff_t end = offset + count;

--- 73 unchanged lines hidden ---