Lines Matching refs:iocb

454 static ssize_t ntfs_file_read_iter(struct kiocb *iocb, struct iov_iter *to)  in ntfs_file_read_iter()  argument
456 struct inode *vi = file_inode(iocb->ki_filp); in ntfs_file_read_iter()
464 iocb->ki_flags & IOCB_DIRECT) in ntfs_file_read_iter()
469 if (iocb->ki_flags & IOCB_DIRECT) { in ntfs_file_read_iter()
472 if ((iocb->ki_pos | count) & (sb->s_blocksize - 1)) { in ntfs_file_read_iter()
477 file_accessed(iocb->ki_filp); in ntfs_file_read_iter()
478 ret = iomap_dio_rw(iocb, to, &ntfs_read_iomap_ops, NULL, 0, in ntfs_file_read_iter()
481 ret = generic_file_read_iter(iocb, to); in ntfs_file_read_iter()
490 static int ntfs_file_write_dio_end_io(struct kiocb *iocb, ssize_t size, in ntfs_file_write_dio_end_io() argument
493 struct inode *inode = file_inode(iocb->ki_filp); in ntfs_file_write_dio_end_io()
499 if (i_size_read(inode) < iocb->ki_pos + size) { in ntfs_file_write_dio_end_io()
500 i_size_write(inode, iocb->ki_pos + size); in ntfs_file_write_dio_end_io()
512 static ssize_t ntfs_dio_write_iter(struct kiocb *iocb, struct iov_iter *from) in ntfs_dio_write_iter() argument
516 ret = iomap_dio_rw(iocb, from, &ntfs_dio_iomap_ops, in ntfs_dio_write_iter()
528 offset = iocb->ki_pos; in ntfs_dio_write_iter()
529 iocb->ki_flags &= ~IOCB_DIRECT; in ntfs_dio_write_iter()
530 written = iomap_file_buffered_write(iocb, from, in ntfs_dio_write_iter()
539 end = iocb->ki_pos + written - 1; in ntfs_dio_write_iter()
540 ret2 = filemap_write_and_wait_range(iocb->ki_filp->f_mapping, in ntfs_dio_write_iter()
546 invalidate_mapping_pages(iocb->ki_filp->f_mapping, in ntfs_dio_write_iter()
580 static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) in ntfs_file_write_iter() argument
582 struct file *file = iocb->ki_filp; in ntfs_file_write_iter()
604 if (NInoCompressed(ni) && iocb->ki_flags & IOCB_DIRECT) in ntfs_file_write_iter()
607 if (iocb->ki_flags & IOCB_NOWAIT) { in ntfs_file_write_iter()
613 ret = generic_write_checks(iocb, from); in ntfs_file_write_iter()
617 err = file_modified(iocb->ki_filp); in ntfs_file_write_iter()
626 pos = iocb->ki_pos; in ntfs_file_write_iter()
649 iocb->ki_pos += ret; in ntfs_file_write_iter()
653 if (NInoNonResident(ni) && iocb->ki_flags & IOCB_DIRECT) in ntfs_file_write_iter()
654 ret = ntfs_dio_write_iter(iocb, from); in ntfs_file_write_iter()
656 ret = iomap_file_buffered_write(iocb, from, &ntfs_write_iomap_ops, in ntfs_file_write_iter()
673 ret = generic_write_sync(iocb, ret); in ntfs_file_write_iter()