Lines Matching refs:iocb

774 					 struct kiocb *iocb,  in should_fault_in_pages()  argument
787 offs = offset_in_page(iocb->ki_pos); in should_fault_in_pages()
801 static ssize_t gfs2_file_direct_read(struct kiocb *iocb, struct iov_iter *to, in gfs2_file_direct_read() argument
804 struct file *file = iocb->ki_filp; in gfs2_file_direct_read()
837 ret = iomap_dio_rw(iocb, to, &gfs2_iomap_ops, NULL, in gfs2_file_direct_read()
847 if (should_fault_in_pages(to, iocb, &prev_count, &window_size)) { in gfs2_file_direct_read()
864 static ssize_t gfs2_file_direct_write(struct kiocb *iocb, struct iov_iter *from, in gfs2_file_direct_write() argument
867 struct file *file = iocb->ki_filp; in gfs2_file_direct_write()
898 if (iocb->ki_pos + iov_iter_count(from) > i_size_read(&ip->i_inode)) in gfs2_file_direct_write()
902 ret = iomap_dio_rw(iocb, from, &gfs2_iomap_ops, NULL, in gfs2_file_direct_write()
915 if (should_fault_in_pages(from, iocb, &prev_count, &window_size)) { in gfs2_file_direct_write()
932 static ssize_t gfs2_file_read_iter(struct kiocb *iocb, struct iov_iter *to) in gfs2_file_read_iter() argument
947 if (iocb->ki_flags & IOCB_DIRECT) in gfs2_file_read_iter()
948 return gfs2_file_direct_read(iocb, to, &gh); in gfs2_file_read_iter()
951 iocb->ki_flags |= IOCB_NOIO; in gfs2_file_read_iter()
952 ret = generic_file_read_iter(iocb, to); in gfs2_file_read_iter()
953 iocb->ki_flags &= ~IOCB_NOIO; in gfs2_file_read_iter()
962 if (iocb->ki_flags & IOCB_NOWAIT) in gfs2_file_read_iter()
965 ip = GFS2_I(iocb->ki_filp->f_mapping->host); in gfs2_file_read_iter()
972 ret = generic_file_read_iter(iocb, to); in gfs2_file_read_iter()
979 if (should_fault_in_pages(to, iocb, &prev_count, &window_size)) { in gfs2_file_read_iter()
993 static ssize_t gfs2_file_buffered_write(struct kiocb *iocb, in gfs2_file_buffered_write() argument
997 struct file *file = iocb->ki_filp; in gfs2_file_buffered_write()
1022 if (should_fault_in_pages(from, iocb, &prev_count, &window_size)) { in gfs2_file_buffered_write()
1045 ret = iomap_file_buffered_write(iocb, from, &gfs2_iomap_ops); in gfs2_file_buffered_write()
1049 iocb->ki_pos += ret; in gfs2_file_buffered_write()
1060 if (should_fault_in_pages(from, iocb, &prev_count, &window_size)) { in gfs2_file_buffered_write()
1086 static ssize_t gfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *from) in gfs2_file_write_iter() argument
1088 struct file *file = iocb->ki_filp; in gfs2_file_write_iter()
1094 gfs2_size_hint(file, iocb->ki_pos, iov_iter_count(from)); in gfs2_file_write_iter()
1096 if (iocb->ki_flags & IOCB_APPEND) { in gfs2_file_write_iter()
1104 ret = generic_write_checks(iocb, from); in gfs2_file_write_iter()
1116 if (iocb->ki_flags & IOCB_DIRECT) { in gfs2_file_write_iter()
1120 ret = gfs2_file_direct_write(iocb, from, &gh); in gfs2_file_write_iter()
1124 iocb->ki_flags |= IOCB_DSYNC; in gfs2_file_write_iter()
1125 buffered = gfs2_file_buffered_write(iocb, from, &gh); in gfs2_file_write_iter()
1139 ret2 = generic_write_sync(iocb, buffered); in gfs2_file_write_iter()
1141 (iocb->ki_pos - buffered) >> PAGE_SHIFT, in gfs2_file_write_iter()
1142 (iocb->ki_pos - 1) >> PAGE_SHIFT); in gfs2_file_write_iter()
1146 ret = gfs2_file_buffered_write(iocb, from, &gh); in gfs2_file_write_iter()
1148 ret = generic_write_sync(iocb, ret); in gfs2_file_write_iter()