Lines Matching defs:iocb
219 struct kiocb *iocb,
222 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp));
226 trace_xfs_file_direct_read(ip, count, iocb->ki_pos);
231 file_accessed(iocb->ki_filp);
233 if (iocb->ki_flags & IOCB_NOWAIT) {
239 ret = iomap_dio_rw(iocb, to, &xfs_read_iomap_ops, NULL,
240 is_sync_kiocb(iocb));
248 struct kiocb *iocb,
251 struct xfs_inode *ip = XFS_I(iocb->ki_filp->f_mapping->host);
255 trace_xfs_file_dax_read(ip, count, iocb->ki_pos);
260 if (iocb->ki_flags & IOCB_NOWAIT) {
267 ret = dax_iomap_rw(iocb, to, &xfs_read_iomap_ops);
270 file_accessed(iocb->ki_filp);
276 struct kiocb *iocb,
279 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp));
282 trace_xfs_file_buffered_read(ip, iov_iter_count(to), iocb->ki_pos);
284 if (iocb->ki_flags & IOCB_NOWAIT) {
290 ret = generic_file_read_iter(iocb, to);
298 struct kiocb *iocb,
301 struct inode *inode = file_inode(iocb->ki_filp);
311 ret = xfs_file_dax_read(iocb, to);
312 else if (iocb->ki_flags & IOCB_DIRECT)
313 ret = xfs_file_dio_aio_read(iocb, to);
315 ret = xfs_file_buffered_aio_read(iocb, to);
331 struct kiocb *iocb,
335 struct file *file = iocb->ki_filp;
344 error = generic_write_checks(iocb, from);
379 if (iocb->ki_pos > isize) {
401 trace_xfs_zero_eof(ip, isize, iocb->ki_pos - isize);
402 error = iomap_zero_range(inode, isize, iocb->ki_pos - isize,
420 struct kiocb *iocb,
425 struct inode *inode = file_inode(iocb->ki_filp);
427 loff_t offset = iocb->ki_pos;
526 struct kiocb *iocb,
529 struct file *file = iocb->ki_filp;
541 if ((iocb->ki_pos | count) & target->bt_logical_sectormask)
551 if ((iocb->ki_pos & mp->m_blockmask) ||
552 ((iocb->ki_pos + count) & mp->m_blockmask)) {
560 trace_xfs_reflink_bounce_dio_write(ip, iocb->ki_pos, count);
568 if (iocb->ki_flags & IOCB_NOWAIT) {
578 ret = xfs_file_aio_write_checks(iocb, from, &iolock);
597 trace_xfs_file_direct_write(ip, count, iocb->ki_pos);
602 ret = iomap_dio_rw(iocb, from, &xfs_direct_write_iomap_ops,
604 is_sync_kiocb(iocb) || unaligned_io);
618 struct kiocb *iocb,
621 struct inode *inode = iocb->ki_filp->f_mapping->host;
628 if (iocb->ki_flags & IOCB_NOWAIT) {
635 ret = xfs_file_aio_write_checks(iocb, from, &iolock);
639 pos = iocb->ki_pos;
643 ret = dax_iomap_rw(iocb, from, &xfs_direct_write_iomap_ops);
644 if (ret > 0 && iocb->ki_pos > i_size_read(inode)) {
645 i_size_write(inode, iocb->ki_pos);
657 ret = generic_write_sync(iocb, ret);
664 struct kiocb *iocb,
667 struct file *file = iocb->ki_filp;
675 if (iocb->ki_flags & IOCB_NOWAIT)
682 ret = xfs_file_aio_write_checks(iocb, from, &iolock);
689 trace_xfs_file_buffered_write(ip, iov_iter_count(from), iocb->ki_pos);
690 ret = iomap_file_buffered_write(iocb, from,
693 iocb->ki_pos += ret;
734 ret = generic_write_sync(iocb, ret);
741 struct kiocb *iocb,
744 struct file *file = iocb->ki_filp;
760 return xfs_file_dax_write(iocb, from);
762 if (iocb->ki_flags & IOCB_DIRECT) {
769 ret = xfs_file_dio_aio_write(iocb, from);
774 return xfs_file_buffered_aio_write(iocb, from);