···30833083/* We thank Mingming Cao for helping us understand in great detail what30843084 to do in this section of the code. */30853085static ssize_t reiserfs_direct_IO(int rw, struct kiocb *iocb,30863086- const struct iovec *iov, loff_t offset,30873087- unsigned long nr_segs)30863086+ struct iov_iter *iter, loff_t offset)30883087{30893088 struct file *file = iocb->ki_filp;30903089 struct inode *inode = file->f_mapping->host;30913090 ssize_t ret;3092309130933093- ret = blockdev_direct_IO(rw, iocb, inode, iov, offset, nr_segs,30943094- reiserfs_get_blocks_direct_io);30923092+ ret = blockdev_direct_IO(rw, iocb, inode, iter->iov, offset,30933093+ iter->nr_segs, reiserfs_get_blocks_direct_io);3095309430963095 /*30973096 * In case of error extending write may have instantiated a few···30983099 */30993100 if (unlikely((rw & WRITE) && ret < 0)) {31003101 loff_t isize = i_size_read(inode);31013101- loff_t end = offset + iov_length(iov, nr_segs);31023102+ loff_t end = offset + iov_length(iter->iov, iter->nr_segs);3102310331033104 if ((end > isize) && inode_newsize_ok(inode, isize) == 0) {31043105 truncate_setsize(inode, isize);