| /linux/fs/nfs/ |
| H A D | localio.c | 61 static void nfs_local_do_read(struct nfs_local_kiocb *iocb, 63 static void nfs_local_do_write(struct nfs_local_kiocb *iocb, 307 nfs_local_iocb_free(struct nfs_local_kiocb *iocb) in nfs_local_iocb_free() argument 309 kfree(iocb->bvec); in nfs_local_iocb_free() 310 kfree(iocb); in nfs_local_iocb_free() 317 struct nfs_local_kiocb *iocb; in nfs_local_iocb_alloc() local 319 iocb = kzalloc_obj(*iocb, flags); in nfs_local_iocb_alloc() 320 if (iocb == NULL) in nfs_local_iocb_alloc() 323 iocb->bvec = kmalloc_objs(struct bio_vec, hdr->page_array.npages, flags); in nfs_local_iocb_alloc() 324 if (iocb->bvec == NULL) { in nfs_local_iocb_alloc() [all …]
|
| H A D | file.c | 159 nfs_file_read(struct kiocb *iocb, struct iov_iter *to) in nfs_file_read() argument 161 struct inode *inode = file_inode(iocb->ki_filp); in nfs_file_read() 164 trace_nfs_file_read(iocb, to); in nfs_file_read() 166 if (iocb->ki_flags & IOCB_DIRECT) in nfs_file_read() 167 return nfs_file_direct_read(iocb, to, false); in nfs_file_read() 170 iocb->ki_filp, in nfs_file_read() 171 iov_iter_count(to), (unsigned long) iocb->ki_pos); in nfs_file_read() 177 result = nfs_revalidate_mapping(inode, iocb->ki_filp->f_mapping); in nfs_file_read() 179 result = generic_file_read_iter(iocb, to); in nfs_file_read() 382 static int nfs_write_begin(const struct kiocb *iocb, in nfs_write_begin() argument [all …]
|
| /linux/fs/ |
| H A D | backing-file.c | 79 struct kiocb iocb; member 83 void (*end_write)(struct kiocb *iocb, ssize_t); 101 fput(aio->iocb.ki_filp); in backing_aio_put() 108 struct kiocb *iocb = &aio->iocb; in backing_aio_cleanup() local 111 orig_iocb->ki_pos = iocb->ki_pos; in backing_aio_cleanup() 118 static void backing_aio_rw_complete(struct kiocb *iocb, long res) in backing_aio_rw_complete() argument 120 struct backing_aio *aio = container_of(iocb, struct backing_aio, iocb); in backing_aio_rw_complete() 123 if (iocb->ki_flags & IOCB_WRITE) in backing_aio_rw_complete() 124 kiocb_end_write(iocb); in backing_aio_rw_complete() 134 backing_aio_rw_complete(&aio->iocb, aio->res); in backing_aio_complete_work() [all …]
|
| H A D | aio.c | 583 void kiocb_set_cancel_fn(struct kiocb *iocb, kiocb_cancel_fn *cancel) in kiocb_set_cancel_fn() argument 593 if (!(iocb->ki_flags & IOCB_AIO_RW)) in kiocb_set_cancel_fn() 596 req = container_of(iocb, struct aio_kiocb, rw); in kiocb_set_cancel_fn() 1102 static inline void iocb_destroy(struct aio_kiocb *iocb) in iocb_destroy() argument 1104 if (iocb->ki_eventfd) in iocb_destroy() 1105 eventfd_ctx_put(iocb->ki_eventfd); in iocb_destroy() 1106 if (iocb->ki_filp) in iocb_destroy() 1107 fput(iocb->ki_filp); in iocb_destroy() 1108 percpu_ref_put(&iocb->ki_ctx->reqs); in iocb_destroy() 1109 kmem_cache_free(kiocb_cachep, iocb); in iocb_destroy() [all …]
|
| /linux/block/ |
| H A D | fops.c | 29 static blk_opf_t dio_bio_write_op(struct kiocb *iocb) in dio_bio_write_op() argument 34 if (iocb_is_dsync(iocb)) in dio_bio_write_op() 39 static bool blkdev_dio_invalid(struct block_device *bdev, struct kiocb *iocb, in blkdev_dio_invalid() argument 42 return (iocb->ki_pos | iov_iter_count(iter)) & in blkdev_dio_invalid() 55 static ssize_t __blkdev_direct_IO_simple(struct kiocb *iocb, in __blkdev_direct_IO_simple() argument 60 loff_t pos = iocb->ki_pos; in __blkdev_direct_IO_simple() 78 bio_init(&bio, bdev, vecs, nr_pages, dio_bio_write_op(iocb)); in __blkdev_direct_IO_simple() 81 bio.bi_write_hint = file_inode(iocb->ki_filp)->i_write_hint; in __blkdev_direct_IO_simple() 82 bio.bi_write_stream = iocb->ki_write_stream; in __blkdev_direct_IO_simple() 83 bio.bi_ioprio = iocb->ki_ioprio; in __blkdev_direct_IO_simple() [all …]
|
| /linux/fs/ext4/ |
| H A D | file.c | 56 static bool ext4_should_use_dio(struct kiocb *iocb, struct iov_iter *iter) in ext4_should_use_dio() argument 58 struct inode *inode = file_inode(iocb->ki_filp); in ext4_should_use_dio() 67 return IS_ALIGNED(iocb->ki_pos | iov_iter_alignment(iter), dio_align); in ext4_should_use_dio() 70 static ssize_t ext4_dio_read_iter(struct kiocb *iocb, struct iov_iter *to) in ext4_dio_read_iter() argument 73 struct inode *inode = file_inode(iocb->ki_filp); in ext4_dio_read_iter() 75 if (iocb->ki_flags & IOCB_NOWAIT) { in ext4_dio_read_iter() 82 if (!ext4_should_use_dio(iocb, to)) { in ext4_dio_read_iter() 91 iocb->ki_flags &= ~IOCB_DIRECT; in ext4_dio_read_iter() 92 return generic_file_read_iter(iocb, to); in ext4_dio_read_iter() 95 ret = iomap_dio_rw(iocb, to, &ext4_iomap_ops, NULL, 0, NULL, 0); in ext4_dio_read_iter() [all …]
|
| /linux/fs/xfs/ |
| H A D | xfs_file.c | 187 struct kiocb *iocb, in xfs_ilock_iocb() argument 190 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); in xfs_ilock_iocb() 192 if (iocb->ki_flags & IOCB_NOWAIT) { in xfs_ilock_iocb() 204 struct kiocb *iocb, in xfs_ilock_iocb_for_write() argument 208 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); in xfs_ilock_iocb_for_write() 210 ret = xfs_ilock_iocb(iocb, *lock_mode); in xfs_ilock_iocb_for_write() 222 return xfs_ilock_iocb(iocb, *lock_mode); in xfs_ilock_iocb_for_write() 250 struct kiocb *iocb, in xfs_file_dio_read() argument 253 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); in xfs_file_dio_read() 258 trace_xfs_file_direct_read(iocb, to); in xfs_file_dio_read() [all …]
|
| /linux/fs/fuse/ |
| H A D | passthrough.c | 21 static void fuse_passthrough_end_write(struct kiocb *iocb, ssize_t ret) in fuse_passthrough_end_write() argument 23 struct inode *inode = file_inode(iocb->ki_filp); in fuse_passthrough_end_write() 25 fuse_write_update_attr(inode, iocb->ki_pos, ret); in fuse_passthrough_end_write() 28 ssize_t fuse_passthrough_read_iter(struct kiocb *iocb, struct iov_iter *iter) in fuse_passthrough_read_iter() argument 30 struct file *file = iocb->ki_filp; in fuse_passthrough_read_iter() 42 backing_file, iocb->ki_pos, count); in fuse_passthrough_read_iter() 47 ret = backing_file_read_iter(backing_file, iter, iocb, iocb->ki_flags, in fuse_passthrough_read_iter() 53 ssize_t fuse_passthrough_write_iter(struct kiocb *iocb, in fuse_passthrough_write_iter() argument 56 struct file *file = iocb->ki_filp; in fuse_passthrough_write_iter() 68 backing_file, iocb->ki_pos, count); in fuse_passthrough_write_iter() [all …]
|
| /linux/fs/ext2/ |
| H A D | trace.h | 12 TP_PROTO(struct kiocb *iocb, struct iov_iter *iter, ssize_t ret), 13 TP_ARGS(iocb, iter, ret), 25 __entry->dev = file_inode(iocb->ki_filp)->i_sb->s_dev; 26 __entry->ino = file_inode(iocb->ki_filp)->i_ino; 27 __entry->isize = file_inode(iocb->ki_filp)->i_size; 28 __entry->pos = iocb->ki_pos; 30 __entry->ki_flags = iocb->ki_flags; 31 __entry->aio = !is_sync_kiocb(iocb); 47 TP_PROTO(struct kiocb *iocb, struct iov_iter *iter, ssize_t ret), \ 48 TP_ARGS(iocb, iter, ret)) [all …]
|
| /linux/fs/iomap/ |
| H A D | direct-io.c | 29 struct kiocb *iocb; member 65 struct kiocb *iocb = dio->iocb; in iomap_dio_submit_bio() local 70 if ((iocb->ki_flags & IOCB_HIPRI) && !is_sync_kiocb(iocb)) { in iomap_dio_submit_bio() 71 bio_set_polled(bio, iocb); in iomap_dio_submit_bio() 72 WRITE_ONCE(iocb->private, bio); in iomap_dio_submit_bio() 106 struct kiocb *iocb = dio->iocb; in iomap_dio_complete() local 107 loff_t offset = iocb->ki_pos; in iomap_dio_complete() 111 ret = dops->end_io(iocb, dio->size, ret, dio->flags); in iomap_dio_complete() 113 fserror_report_io(file_inode(iocb->ki_filp), in iomap_dio_complete() 139 kiocb_invalidate_post_direct_write(iocb, dio->size); in iomap_dio_complete() [all …]
|
| H A D | trace.h | 255 TP_PROTO(struct kiocb *iocb, struct iov_iter *iter, 257 TP_ARGS(iocb, iter, dio_flags, done_before), 270 __entry->dev = file_inode(iocb->ki_filp)->i_sb->s_dev; 271 __entry->ino = file_inode(iocb->ki_filp)->i_ino; 272 __entry->isize = file_inode(iocb->ki_filp)->i_size; 273 __entry->pos = iocb->ki_pos; 276 __entry->ki_flags = iocb->ki_flags; 278 __entry->aio = !is_sync_kiocb(iocb); 293 TP_PROTO(struct kiocb *iocb, int error, ssize_t ret), 294 TP_ARGS(iocb, error, ret), [all …]
|
| /linux/fs/zonefs/ |
| H A D | file.c | 358 static int zonefs_file_write_dio_end_io(struct kiocb *iocb, ssize_t size, in zonefs_file_write_dio_end_io() argument 361 struct inode *inode = file_inode(iocb->ki_filp); in zonefs_file_write_dio_end_io() 369 if (!is_sync_kiocb(iocb)) in zonefs_file_write_dio_end_io() 383 if (i_size_read(inode) < iocb->ki_pos + size) { in zonefs_file_write_dio_end_io() 384 zonefs_update_stats(inode, iocb->ki_pos + size); in zonefs_file_write_dio_end_io() 385 zonefs_i_size_write(inode, iocb->ki_pos + size); in zonefs_file_write_dio_end_io() 426 static ssize_t zonefs_write_checks(struct kiocb *iocb, struct iov_iter *from) in zonefs_write_checks() argument 428 struct file *file = iocb->ki_filp; in zonefs_write_checks() 440 if ((iocb->ki_flags & IOCB_NOWAIT) && !(iocb->ki_flags & IOCB_DIRECT)) in zonefs_write_checks() 443 if (iocb->ki_flags & IOCB_APPEND) { in zonefs_write_checks() [all …]
|
| /linux/fs/netfs/ |
| H A D | direct_write.c | 48 if (wreq->iocb) { in netfs_unbuffered_write_done() 51 wreq->iocb->ki_pos += written; in netfs_unbuffered_write_done() 52 if (wreq->iocb->ki_complete) { in netfs_unbuffered_write_done() 54 wreq->iocb->ki_complete(wreq->iocb, wreq->error ?: written); in netfs_unbuffered_write_done() 56 wreq->iocb = VFS_PTR_POISON; in netfs_unbuffered_write_done() 156 if (!wreq->iocb && signal_pending(current)) { in netfs_unbuffered_write() 212 ssize_t netfs_unbuffered_write_iter_locked(struct kiocb *iocb, struct iov_iter *iter, in netfs_unbuffered_write_iter_locked() argument 216 unsigned long long start = iocb->ki_pos; in netfs_unbuffered_write_iter_locked() 220 bool async = !is_sync_kiocb(iocb); in netfs_unbuffered_write_iter_locked() 232 wreq = netfs_create_write_req(iocb->ki_filp->f_mapping, iocb->ki_filp, start, in netfs_unbuffered_write_iter_locked() [all …]
|
| H A D | direct_read.c | 170 ssize_t netfs_unbuffered_read_iter_locked(struct kiocb *iocb, struct iov_iter *iter) in netfs_unbuffered_read_iter_locked() argument 175 bool sync = is_sync_kiocb(iocb); in netfs_unbuffered_read_iter_locked() 182 ret = kiocb_write_and_wait(iocb, orig_count); in netfs_unbuffered_read_iter_locked() 185 file_accessed(iocb->ki_filp); in netfs_unbuffered_read_iter_locked() 187 rreq = netfs_alloc_request(iocb->ki_filp->f_mapping, iocb->ki_filp, in netfs_unbuffered_read_iter_locked() 188 iocb->ki_pos, orig_count, in netfs_unbuffered_read_iter_locked() 189 iocb->ki_flags & IOCB_DIRECT ? in netfs_unbuffered_read_iter_locked() 224 rreq->iocb = iocb; in netfs_unbuffered_read_iter_locked() 233 iocb->ki_pos += rreq->transferred; in netfs_unbuffered_read_iter_locked() 257 ssize_t netfs_unbuffered_read_iter(struct kiocb *iocb, struct iov_iter *iter) in netfs_unbuffered_read_iter() argument [all …]
|
| H A D | buffered_write.c | 106 ssize_t netfs_perform_write(struct kiocb *iocb, struct iov_iter *iter, in netfs_perform_write() argument 109 struct file *file = iocb->ki_filp; in netfs_perform_write() 117 .range_start = iocb->ki_pos, in netfs_perform_write() 118 .range_end = iocb->ki_pos + iter->count, in netfs_perform_write() 122 unsigned int bdp_flags = (iocb->ki_flags & IOCB_NOWAIT) ? BDP_ASYNC : 0; in netfs_perform_write() 124 loff_t pos = iocb->ki_pos; in netfs_perform_write() 128 if (unlikely(iocb->ki_flags & (IOCB_DSYNC | IOCB_SYNC)) in netfs_perform_write() 138 wreq = netfs_begin_writethrough(iocb, iter->count); in netfs_perform_write() 145 if (!is_sync_kiocb(iocb)) in netfs_perform_write() 146 wreq->iocb = iocb; in netfs_perform_write() [all …]
|
| /linux/fs/configfs/ |
| H A D | file.c | 80 static ssize_t configfs_read_iter(struct kiocb *iocb, struct iov_iter *to) in configfs_read_iter() argument 82 struct file *file = iocb->ki_filp; in configfs_read_iter() 93 __func__, iov_iter_count(to), iocb->ki_pos, buffer->page); in configfs_read_iter() 94 if (iocb->ki_pos >= buffer->count) in configfs_read_iter() 96 retval = copy_to_iter(buffer->page + iocb->ki_pos, in configfs_read_iter() 97 buffer->count - iocb->ki_pos, to); in configfs_read_iter() 98 iocb->ki_pos += retval; in configfs_read_iter() 106 static ssize_t configfs_bin_read_iter(struct kiocb *iocb, struct iov_iter *to) in configfs_bin_read_iter() argument 108 struct file *file = iocb->ki_filp; in configfs_bin_read_iter() 168 if (iocb->ki_pos >= buffer->bin_buffer_size) in configfs_bin_read_iter() [all …]
|
| /linux/io_uring/ |
| H A D | mock_file.c | 17 struct kiocb *iocb; member 105 struct kiocb *iocb = mio->iocb; in io_mock_rw_timer_expired() local 107 WRITE_ONCE(iocb->private, NULL); in io_mock_rw_timer_expired() 108 iocb->ki_complete(iocb, mio->res); in io_mock_rw_timer_expired() 113 static ssize_t io_mock_delay_rw(struct kiocb *iocb, size_t len) in io_mock_delay_rw() argument 115 struct io_mock_file *mf = iocb->ki_filp->private_data; in io_mock_delay_rw() 122 mio->iocb = iocb; in io_mock_delay_rw() 131 static ssize_t io_mock_read_iter(struct kiocb *iocb, struct iov_iter *to) in io_mock_read_iter() argument 133 struct io_mock_file *mf = iocb->ki_filp->private_data; in io_mock_read_iter() 137 if (iocb->ki_pos + len > mf->size) in io_mock_read_iter() [all …]
|
| /linux/fs/erofs/ |
| H A D | fileio.c | 11 struct kiocb iocb; member 22 static void erofs_fileio_ki_complete(struct kiocb *iocb, long ret) in erofs_fileio_ki_complete() argument 25 container_of(iocb, struct erofs_fileio_rq, iocb); in erofs_fileio_ki_complete() 53 rq->iocb.ki_pos = rq->bio.bi_iter.bi_sector << SECTOR_SHIFT; in erofs_fileio_rq_submit() 54 rq->iocb.ki_ioprio = get_current_ioprio(); in erofs_fileio_rq_submit() 55 rq->iocb.ki_complete = erofs_fileio_ki_complete; in erofs_fileio_rq_submit() 57 rq->iocb.ki_filp->f_mode & FMODE_CAN_ODIRECT) in erofs_fileio_rq_submit() 58 rq->iocb.ki_flags = IOCB_DIRECT; in erofs_fileio_rq_submit() 61 scoped_with_creds(rq->iocb.ki_filp->f_cred) in erofs_fileio_rq_submit() 62 ret = vfs_iocb_iter_read(rq->iocb.ki_filp, &rq->iocb, &iter); in erofs_fileio_rq_submit() [all …]
|
| /linux/fs/cachefiles/ |
| H A D | io.c | 20 struct kiocb iocb; member 39 fput(ki->iocb.ki_filp); in cachefiles_put_kiocb() 47 static void cachefiles_read_complete(struct kiocb *iocb, long ret) in cachefiles_read_complete() argument 49 struct cachefiles_kiocb *ki = container_of(iocb, struct cachefiles_kiocb, iocb); in cachefiles_read_complete() 50 struct inode *inode = file_inode(ki->iocb.ki_filp); in cachefiles_read_complete() 140 ki->iocb.ki_filp = file; in cachefiles_read() 141 ki->iocb.ki_pos = start_pos + skipped; in cachefiles_read() 142 ki->iocb.ki_flags = IOCB_DIRECT; in cachefiles_read() 143 ki->iocb.ki_ioprio = get_current_ioprio(); in cachefiles_read() 152 ki->iocb.ki_complete = cachefiles_read_complete; in cachefiles_read() [all …]
|
| /linux/mm/ |
| H A D | page_io.c | 324 struct kiocb iocb; member 344 static void sio_write_complete(struct kiocb *iocb, long ret) in sio_write_complete() argument 346 struct swap_iocb *sio = container_of(iocb, struct swap_iocb, iocb); in sio_write_complete() 385 if (sio->iocb.ki_filp != swap_file || in swap_writepage_fs() 386 sio->iocb.ki_pos + sio->len != pos) { in swap_writepage_fs() 393 init_sync_kiocb(&sio->iocb, swap_file); in swap_writepage_fs() 394 sio->iocb.ki_complete = sio_write_complete; in swap_writepage_fs() 395 sio->iocb.ki_pos = pos; in swap_writepage_fs() 473 struct address_space *mapping = sio->iocb in swap_write_unplug() 482 sio_read_complete(struct kiocb * iocb,long ret) sio_read_complete() argument [all...] |
| H A D | filemap.c | 2544 static int filemap_update_page(struct kiocb *iocb, in filemap_update_page() argument 2550 if (iocb->ki_flags & IOCB_NOWAIT) { in filemap_update_page() 2559 if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_NOIO)) in filemap_update_page() 2561 if (!(iocb->ki_flags & IOCB_WAITQ)) { in filemap_update_page() 2570 error = __folio_lock_async(folio, iocb->ki_waitq); in filemap_update_page() 2580 if (filemap_range_uptodate(mapping, iocb->ki_pos, count, folio, in filemap_update_page() 2585 if (iocb->ki_flags & (IOCB_NOIO | IOCB_NOWAIT | IOCB_WAITQ)) in filemap_update_page() 2588 error = filemap_read_folio(iocb->ki_filp, mapping->a_ops->read_folio, in filemap_update_page() 2600 static int filemap_create_folio(struct kiocb *iocb, struct folio_batch *fbatch) in filemap_create_folio() argument 2602 struct address_space *mapping = iocb->ki_filp->f_mapping; in filemap_create_folio() [all …]
|
| /linux/tools/usb/ffs-aio-example/multibuff/device_app/ |
| H A D | aio_multibuff.c | 144 struct iocb **iocb; member 212 iobuf->iocb = malloc(n*sizeof(*iobuf->iocb)); in init_bufs() 218 iobuf->iocb[i] = malloc(sizeof(**iobuf->iocb)); in init_bufs() 228 free(iobuf->iocb[i]); in delete_bufs() 231 free(iobuf->iocb); in delete_bufs() 332 io_prep_pwrite(iobuf[i].iocb[j], ep1, in main() 336 iobuf[i].iocb[j]->u.c.flags |= IOCB_FLAG_RESFD; in main() 337 iobuf[i].iocb[j]->u.c.resfd = evfd; in main() 340 ret = io_submit(ctx, iobuf[i].cnt, iobuf[i].iocb); in main()
|
| /linux/drivers/gpu/drm/display/ |
| H A D | drm_dp_aux_dev.c | 146 static ssize_t auxdev_read_iter(struct kiocb *iocb, struct iov_iter *to) in auxdev_read_iter() argument 148 struct drm_dp_aux_dev *aux_dev = iocb->ki_filp->private_data; in auxdev_read_iter() 149 loff_t pos = iocb->ki_pos; in auxdev_read_iter() 179 if (pos != iocb->ki_pos) in auxdev_read_iter() 180 res = pos - iocb->ki_pos; in auxdev_read_iter() 181 iocb->ki_pos = pos; in auxdev_read_iter() 189 static ssize_t auxdev_write_iter(struct kiocb *iocb, struct iov_iter *from) in auxdev_write_iter() argument 191 struct drm_dp_aux_dev *aux_dev = iocb->ki_filp->private_data; in auxdev_write_iter() 192 loff_t pos = iocb->ki_pos; in auxdev_write_iter() 222 if (pos != iocb->ki_pos) in auxdev_write_iter() [all …]
|
| /linux/fs/gfs2/ |
| H A D | file.c | 780 struct kiocb *iocb, in should_fault_in_pages() argument 797 offs = offset_in_page(iocb->ki_pos); in should_fault_in_pages() 811 static ssize_t gfs2_file_direct_read(struct kiocb *iocb, struct iov_iter *to, in gfs2_file_direct_read() argument 814 struct file *file = iocb->ki_filp; in gfs2_file_direct_read() 847 ret = iomap_dio_rw(iocb, to, &gfs2_iomap_ops, NULL, in gfs2_file_direct_read() 857 if (should_fault_in_pages(to, iocb, &prev_count, &window_size)) { in gfs2_file_direct_read() 874 static ssize_t gfs2_file_direct_write(struct kiocb *iocb, struct iov_iter *from, in gfs2_file_direct_write() argument 877 struct file *file = iocb->ki_filp; in gfs2_file_direct_write() 909 if (iocb->ki_pos + iov_iter_count(from) > i_size_read(&ip->i_inode)) in gfs2_file_direct_write() 913 ret = iomap_dio_rw(iocb, from, &gfs2_iomap_ops, NULL, in gfs2_file_direct_write() [all …]
|
| /linux/fs/ntfs3/ |
| H A D | file.c | 51 static bool ntfs_should_use_dio(struct kiocb *iocb, struct iov_iter *iter) in ntfs_should_use_dio() argument 53 struct inode *inode = file_inode(iocb->ki_filp); in ntfs_should_use_dio() 59 return IS_ALIGNED(iocb->ki_pos | iov_iter_alignment(iter), dio_align); in ntfs_should_use_dio() 826 static ssize_t ntfs_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) in ntfs_file_read_iter() argument 828 struct file *file = iocb->ki_filp; in ntfs_file_read_iter() 844 if (iocb->ki_flags & IOCB_DIRECT) { in ntfs_file_read_iter() 854 if (!(iocb->ki_flags & IOCB_DIRECT) || in ntfs_file_read_iter() 855 !ntfs_should_use_dio(iocb, iter)) { in ntfs_file_read_iter() 856 iocb->ki_flags &= ~IOCB_DIRECT; in ntfs_file_read_iter() 857 return generic_file_read_iter(iocb, iter); in ntfs_file_read_iter() [all …]
|