Lines Matching refs:iocb

180 	struct kiocb		*iocb,  in xfs_file_dio_aio_read()  argument
183 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); in xfs_file_dio_aio_read()
187 trace_xfs_file_direct_read(ip, count, iocb->ki_pos); in xfs_file_dio_aio_read()
192 file_accessed(iocb->ki_filp); in xfs_file_dio_aio_read()
195 ret = iomap_dio_rw(iocb, to, &xfs_iomap_ops, NULL); in xfs_file_dio_aio_read()
203 struct kiocb *iocb, in xfs_file_dax_read() argument
206 struct xfs_inode *ip = XFS_I(iocb->ki_filp->f_mapping->host); in xfs_file_dax_read()
210 trace_xfs_file_dax_read(ip, count, iocb->ki_pos); in xfs_file_dax_read()
215 if (iocb->ki_flags & IOCB_NOWAIT) { in xfs_file_dax_read()
222 ret = dax_iomap_rw(iocb, to, &xfs_iomap_ops); in xfs_file_dax_read()
225 file_accessed(iocb->ki_filp); in xfs_file_dax_read()
231 struct kiocb *iocb, in xfs_file_buffered_aio_read() argument
234 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); in xfs_file_buffered_aio_read()
237 trace_xfs_file_buffered_read(ip, iov_iter_count(to), iocb->ki_pos); in xfs_file_buffered_aio_read()
239 if (iocb->ki_flags & IOCB_NOWAIT) { in xfs_file_buffered_aio_read()
245 ret = generic_file_read_iter(iocb, to); in xfs_file_buffered_aio_read()
253 struct kiocb *iocb, in xfs_file_read_iter() argument
256 struct inode *inode = file_inode(iocb->ki_filp); in xfs_file_read_iter()
266 ret = xfs_file_dax_read(iocb, to); in xfs_file_read_iter()
267 else if (iocb->ki_flags & IOCB_DIRECT) in xfs_file_read_iter()
268 ret = xfs_file_dio_aio_read(iocb, to); in xfs_file_read_iter()
270 ret = xfs_file_buffered_aio_read(iocb, to); in xfs_file_read_iter()
286 struct kiocb *iocb, in xfs_file_aio_write_checks() argument
290 struct file *file = iocb->ki_filp; in xfs_file_aio_write_checks()
299 error = generic_write_checks(iocb, from); in xfs_file_aio_write_checks()
334 if (iocb->ki_pos > isize) { in xfs_file_aio_write_checks()
356 trace_xfs_zero_eof(ip, isize, iocb->ki_pos - isize); in xfs_file_aio_write_checks()
357 error = iomap_zero_range(inode, isize, iocb->ki_pos - isize, in xfs_file_aio_write_checks()
388 struct kiocb *iocb, in xfs_dio_write_end_io() argument
392 struct inode *inode = file_inode(iocb->ki_filp); in xfs_dio_write_end_io()
394 loff_t offset = iocb->ki_pos; in xfs_dio_write_end_io()
476 struct kiocb *iocb, in xfs_file_dio_aio_write() argument
479 struct file *file = iocb->ki_filp; in xfs_file_dio_aio_write()
492 if ((iocb->ki_pos | count) & target->bt_logical_sectormask) in xfs_file_dio_aio_write()
502 if ((iocb->ki_pos & mp->m_blockmask) || in xfs_file_dio_aio_write()
503 ((iocb->ki_pos + count) & mp->m_blockmask)) { in xfs_file_dio_aio_write()
511 trace_xfs_reflink_bounce_dio_write(ip, iocb->ki_pos, count); in xfs_file_dio_aio_write()
519 if (iocb->ki_flags & IOCB_NOWAIT) { in xfs_file_dio_aio_write()
526 ret = xfs_file_aio_write_checks(iocb, from, &iolock); in xfs_file_dio_aio_write()
538 if (iocb->ki_flags & IOCB_NOWAIT) { in xfs_file_dio_aio_write()
549 trace_xfs_file_direct_write(ip, count, iocb->ki_pos); in xfs_file_dio_aio_write()
550 ret = iomap_dio_rw(iocb, from, &xfs_iomap_ops, xfs_dio_write_end_io); in xfs_file_dio_aio_write()
564 struct kiocb *iocb, in xfs_file_dax_write() argument
567 struct inode *inode = iocb->ki_filp->f_mapping->host; in xfs_file_dax_write()
574 if (iocb->ki_flags & IOCB_NOWAIT) { in xfs_file_dax_write()
581 ret = xfs_file_aio_write_checks(iocb, from, &iolock); in xfs_file_dax_write()
585 pos = iocb->ki_pos; in xfs_file_dax_write()
589 ret = dax_iomap_rw(iocb, from, &xfs_iomap_ops); in xfs_file_dax_write()
590 if (ret > 0 && iocb->ki_pos > i_size_read(inode)) { in xfs_file_dax_write()
591 i_size_write(inode, iocb->ki_pos); in xfs_file_dax_write()
603 ret = generic_write_sync(iocb, ret); in xfs_file_dax_write()
610 struct kiocb *iocb, in xfs_file_buffered_aio_write() argument
613 struct file *file = iocb->ki_filp; in xfs_file_buffered_aio_write()
621 if (iocb->ki_flags & IOCB_NOWAIT) in xfs_file_buffered_aio_write()
628 ret = xfs_file_aio_write_checks(iocb, from, &iolock); in xfs_file_buffered_aio_write()
635 trace_xfs_file_buffered_write(ip, iov_iter_count(from), iocb->ki_pos); in xfs_file_buffered_aio_write()
636 ret = iomap_file_buffered_write(iocb, from, &xfs_iomap_ops); in xfs_file_buffered_aio_write()
638 iocb->ki_pos += ret; in xfs_file_buffered_aio_write()
679 ret = generic_write_sync(iocb, ret); in xfs_file_buffered_aio_write()
686 struct kiocb *iocb, in xfs_file_write_iter() argument
689 struct file *file = iocb->ki_filp; in xfs_file_write_iter()
705 return xfs_file_dax_write(iocb, from); in xfs_file_write_iter()
707 if (iocb->ki_flags & IOCB_DIRECT) { in xfs_file_write_iter()
714 ret = xfs_file_dio_aio_write(iocb, from); in xfs_file_write_iter()
719 return xfs_file_buffered_aio_write(iocb, from); in xfs_file_write_iter()