Now that reads and writes both use iomap for O_DIRECT, this code has no more callers and can be removed. Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> --- fs/jfs/inode.c | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c index 22e8a5612fdc..63690020cc46 100644 --- a/fs/jfs/inode.c +++ b/fs/jfs/inode.c @@ -368,31 +368,6 @@ static sector_t jfs_bmap(struct address_space *mapping, sector_t block) return generic_block_bmap(mapping, block, jfs_get_block); } -static ssize_t jfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter) -{ - struct file *file = iocb->ki_filp; - struct address_space *mapping = file->f_mapping; - struct inode *inode = file->f_mapping->host; - size_t count = iov_iter_count(iter); - ssize_t ret; - - ret = blockdev_direct_IO(iocb, inode, iter, jfs_get_block); - - /* - * In case of error extending write may have instantiated a few - * blocks outside i_size. Trim these off again. - */ - if (unlikely(iov_iter_rw(iter) == WRITE && ret < 0)) { - loff_t isize = i_size_read(inode); - loff_t end = iocb->ki_pos + count; - - if (end > isize) - jfs_write_failed(mapping, end); - } - - return ret; -} - const struct address_space_operations jfs_aops = { .dirty_folio = block_dirty_folio, .invalidate_folio = block_invalidate_folio, @@ -403,7 +378,7 @@ const struct address_space_operations jfs_aops = { .write_begin = jfs_write_begin, .write_end = nobh_write_end, .bmap = jfs_bmap, - .direct_IO = jfs_direct_IO, + .direct_IO = noop_direct_IO, }; /* -- 2.34.1