Home
last modified time | relevance | path

Searched refs:iocb (Results 1 – 25 of 108) sorted by relevance

12345

/linux/fs/nfs/
H A Dlocalio.c60 static void nfs_local_do_read(struct nfs_local_kiocb *iocb,
62 static void nfs_local_do_write(struct nfs_local_kiocb *iocb,
306 nfs_local_iocb_free(struct nfs_local_kiocb *iocb) in nfs_local_iocb_free() argument
308 kfree(iocb->bvec); in nfs_local_iocb_free()
309 kfree(iocb); in nfs_local_iocb_free()
316 struct nfs_local_kiocb *iocb; in nfs_local_iocb_alloc() local
318 iocb = kzalloc_obj(*iocb, flags); in nfs_local_iocb_alloc()
319 if (iocb == NULL) in nfs_local_iocb_alloc()
322 iocb->bvec = kmalloc_objs(struct bio_vec, hdr->page_array.npages, flags); in nfs_local_iocb_alloc()
323 if (iocb->bvec == NULL) { in nfs_local_iocb_alloc()
[all …]
H A Dfile.c162 nfs_file_read(struct kiocb *iocb, struct iov_iter *to) in nfs_file_read() argument
164 struct inode *inode = file_inode(iocb->ki_filp); in nfs_file_read()
167 trace_nfs_file_read(iocb, to); in nfs_file_read()
169 if (iocb->ki_flags & IOCB_DIRECT) in nfs_file_read()
170 return nfs_file_direct_read(iocb, to, false); in nfs_file_read()
173 if (iocb->ki_flags & IOCB_NOWAIT) in nfs_file_read()
177 iocb->ki_filp, in nfs_file_read()
178 iov_iter_count(to), (unsigned long) iocb->ki_pos); in nfs_file_read()
184 result = nfs_revalidate_mapping(inode, iocb->ki_filp->f_mapping); in nfs_file_read()
186 result = generic_file_read_iter(iocb, to); in nfs_file_read()
[all …]
H A Ddirect.c216 if (dreq->iocb) in nfs_direct_wait()
242 if (dreq->iocb) { in nfs_direct_complete()
248 dreq->iocb->ki_complete(dreq->iocb, res); in nfs_direct_complete()
412 ssize_t nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter, in nfs_file_direct_read() argument
415 struct file *file = iocb->ki_filp; in nfs_file_direct_read()
425 file, count, (long long) iocb->ki_pos); in nfs_file_direct_read()
440 dreq->io_start = iocb->ki_pos; in nfs_file_direct_read()
441 dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp)); in nfs_file_direct_read()
449 if (!is_sync_kiocb(iocb)) { in nfs_file_direct_read()
450 dreq->iocb = iocb; in nfs_file_direct_read()
[all …]
/linux/block/
H A Dfops.c29 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 in __blkdev_direct_IO_simple()
120 struct kiocb *iocb; global() member
145 struct kiocb *iocb = dio->iocb; blkdev_bio_end_io() local
175 __blkdev_direct_IO(struct kiocb * iocb,struct iov_iter * iter,struct block_device * bdev,unsigned int nr_pages) __blkdev_direct_IO() argument
297 struct kiocb *iocb = dio->iocb; blkdev_bio_end_io_async() local
322 __blkdev_direct_IO_async(struct kiocb * iocb,struct iov_iter * iter,struct block_device * bdev,unsigned int nr_pages) __blkdev_direct_IO_async() argument
394 blkdev_direct_IO(struct kiocb * iocb,struct iov_iter * iter) blkdev_direct_IO() argument
687 blkdev_direct_write(struct kiocb * iocb,struct iov_iter * from) blkdev_direct_write() argument
710 blkdev_buffered_write(struct kiocb * iocb,struct iov_iter * from) blkdev_buffered_write() argument
723 blkdev_write_iter(struct kiocb * iocb,struct iov_iter * from) blkdev_write_iter() argument
788 blkdev_read_iter(struct kiocb * iocb,struct iov_iter * to) blkdev_read_iter() argument
[all...]
/linux/fs/ext4/
H A Dfile.c55 static bool ext4_should_use_dio(struct kiocb *iocb, struct iov_iter *iter) in ext4_should_use_dio() argument
57 struct inode *inode = file_inode(iocb->ki_filp); in ext4_should_use_dio()
66 return IS_ALIGNED(iocb->ki_pos | iov_iter_alignment(iter), dio_align); in ext4_should_use_dio()
69 static ssize_t ext4_dio_read_iter(struct kiocb *iocb, struct iov_iter *to) in ext4_dio_read_iter() argument
72 struct inode *inode = file_inode(iocb->ki_filp); in ext4_dio_read_iter()
74 if (iocb->ki_flags & IOCB_NOWAIT) { in ext4_dio_read_iter()
81 if (!ext4_should_use_dio(iocb, to)) { in ext4_dio_read_iter()
90 iocb->ki_flags &= ~IOCB_DIRECT; in ext4_dio_read_iter()
91 return generic_file_read_iter(iocb, to); in ext4_dio_read_iter()
94 ret = iomap_dio_read_simple(iocb, to, ext4_iomap_begin); in ext4_dio_read_iter()
[all …]
/linux/fs/iomap/
H A Ddirect-io.c31 struct kiocb *iocb; member
67 struct kiocb *iocb = dio->iocb; in iomap_dio_submit_bio() local
72 if ((iocb->ki_flags & IOCB_HIPRI) && !is_sync_kiocb(iocb)) { in iomap_dio_submit_bio()
74 WRITE_ONCE(iocb->private, bio); in iomap_dio_submit_bio()
108 struct kiocb *iocb = dio->iocb; in iomap_dio_complete() local
109 loff_t offset = iocb->ki_pos; in iomap_dio_complete()
113 ret = dops->end_io(iocb, dio->size, ret, dio->flags); in iomap_dio_complete()
115 fserror_report_io(file_inode(iocb->ki_filp), in iomap_dio_complete()
141 kiocb_invalidate_post_direct_write(iocb, dio->size); in iomap_dio_complete()
143 inode_dio_end(file_inode(iocb->ki_filp)); in iomap_dio_complete()
[all …]
/linux/fs/xfs/
H A Dxfs_file.c174 struct kiocb *iocb, in xfs_ilock_iocb() argument
177 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); in xfs_ilock_iocb()
179 if (iocb->ki_flags & IOCB_NOWAIT) { in xfs_ilock_iocb()
191 struct kiocb *iocb, in xfs_ilock_iocb_for_write() argument
195 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); in xfs_ilock_iocb_for_write()
197 ret = xfs_ilock_iocb(iocb, *lock_mode); in xfs_ilock_iocb_for_write()
209 return xfs_ilock_iocb(iocb, *lock_mode); in xfs_ilock_iocb_for_write()
237 struct kiocb *iocb, in xfs_file_dio_read() argument
240 struct xfs_inode *ip = XFS_I(file_inode(iocb->ki_filp)); in xfs_file_dio_read()
243 trace_xfs_file_direct_read(iocb, to); in xfs_file_dio_read()
[all …]
/linux/fs/netfs/
H A Ddirect_write.c48 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, written ?: wreq->error); in netfs_unbuffered_write_done()
56 wreq->iocb = VFS_PTR_POISON; in netfs_unbuffered_write_done()
164 if (!wreq->iocb && signal_pending(current)) { in netfs_unbuffered_write()
224 ssize_t netfs_unbuffered_write_iter_locked(struct kiocb *iocb, struct iov_iter *iter, in netfs_unbuffered_write_iter_locked() argument
228 unsigned long long start = iocb->ki_pos; in netfs_unbuffered_write_iter_locked()
232 bool async = !is_sync_kiocb(iocb); in netfs_unbuffered_write_iter_locked()
332 netfs_unbuffered_write_iter(struct kiocb * iocb,struct iov_iter * from) netfs_unbuffered_write_iter() argument
[all...]
H A Ddirect_read.c153 ssize_t netfs_unbuffered_read_iter_locked(struct kiocb *iocb, struct iov_iter *iter) in netfs_unbuffered_read_iter_locked() argument
158 bool sync = is_sync_kiocb(iocb); in netfs_unbuffered_read_iter_locked()
165 ret = kiocb_write_and_wait(iocb, orig_count); in netfs_unbuffered_read_iter_locked()
168 file_accessed(iocb->ki_filp); in netfs_unbuffered_read_iter_locked()
170 rreq = netfs_alloc_request(iocb->ki_filp->f_mapping, iocb->ki_filp, in netfs_unbuffered_read_iter_locked()
171 iocb->ki_pos, orig_count, in netfs_unbuffered_read_iter_locked()
172 iocb->ki_flags & IOCB_DIRECT ? in netfs_unbuffered_read_iter_locked()
207 rreq->iocb = iocb; in netfs_unbuffered_read_iter_locked()
216 iocb->ki_pos += rreq->transferred; in netfs_unbuffered_read_iter_locked()
240 ssize_t netfs_unbuffered_read_iter(struct kiocb *iocb, struct iov_iter *iter) in netfs_unbuffered_read_iter() argument
[all …]
H A Dbuffered_write.c75 * @iocb: The operation parameters
79 * Copy data into pagecache folios attached to the inode specified by @iocb.
87 ssize_t netfs_perform_write(struct kiocb *iocb, struct iov_iter *iter, in netfs_perform_write() argument
90 struct file *file = iocb->ki_filp; in netfs_perform_write()
98 .range_start = iocb->ki_pos, in netfs_perform_write()
99 .range_end = iocb->ki_pos + iter->count, in netfs_perform_write()
103 unsigned int bdp_flags = (iocb->ki_flags & IOCB_NOWAIT) ? BDP_ASYNC : 0; in netfs_perform_write()
105 loff_t pos = iocb->ki_pos; in netfs_perform_write()
109 if (unlikely(iocb->ki_flags & (IOCB_DSYNC | IOCB_SYNC)) in netfs_perform_write()
119 wreq = netfs_begin_writethrough(iocb, ite in netfs_perform_write()
468 netfs_buffered_write_iter_locked(struct kiocb * iocb,struct iov_iter * from,struct netfs_group * netfs_group) netfs_buffered_write_iter_locked() argument
501 netfs_file_write_iter(struct kiocb * iocb,struct iov_iter * from) netfs_file_write_iter() argument
[all...]
/linux/io_uring/
H A Dmock_file.c17 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 Dfileio.c11 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()
51 rq->iocb.ki_pos = rq->bio.bi_iter.bi_sector << SECTOR_SHIFT; in erofs_fileio_rq_submit()
52 rq->iocb.ki_ioprio = get_current_ioprio(); in erofs_fileio_rq_submit()
53 rq->iocb.ki_complete = erofs_fileio_ki_complete; in erofs_fileio_rq_submit()
55 rq->iocb.ki_filp->f_mode & FMODE_CAN_ODIRECT) in erofs_fileio_rq_submit()
56 rq->iocb.ki_flags = IOCB_DIRECT; in erofs_fileio_rq_submit()
59 scoped_with_creds(rq->iocb.ki_filp->f_cred) in erofs_fileio_rq_submit()
60 ret = vfs_iocb_iter_read(rq->iocb.ki_filp, &rq->iocb, &iter); in erofs_fileio_rq_submit()
[all …]
/linux/tools/usb/ffs-aio-example/multibuff/device_app/
H A Daio_multibuff.c144 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 Ddrm_dp_aux_dev.c146 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/mm/
H A Dfilemap.c2563 static int filemap_update_page(struct kiocb *iocb, in filemap_update_page() argument
2569 if (iocb->ki_flags & IOCB_NOWAIT) { in filemap_update_page()
2578 if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_NOIO)) in filemap_update_page()
2580 if (!(iocb->ki_flags & IOCB_WAITQ)) { in filemap_update_page()
2589 error = __folio_lock_async(folio, iocb->ki_waitq); in filemap_update_page()
2599 if (filemap_range_uptodate(mapping, iocb->ki_pos, count, folio, in filemap_update_page()
2604 if (iocb->ki_flags & (IOCB_NOIO | IOCB_NOWAIT | IOCB_WAITQ)) in filemap_update_page()
2607 error = filemap_read_folio(iocb->ki_filp, mapping->a_ops->read_folio, in filemap_update_page()
2619 static int filemap_create_folio(struct kiocb *iocb, struct folio_batch *fbatch) in filemap_create_folio() argument
2621 struct address_space *mapping = iocb->ki_filp->f_mapping; in filemap_create_folio()
[all …]
/linux/fs/gfs2/
H A Dfile.c780 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 Dfile.c51 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()
817 static ssize_t ntfs_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) in ntfs_file_read_iter() argument
819 struct file *file = iocb->ki_filp; in ntfs_file_read_iter()
837 if (unlikely(iocb->ki_flags & IOCB_DIRECT)) { in ntfs_file_read_iter()
845 ret = ni_query_ads(ni, &iocb->ki_pos, iter); in ntfs_file_read_iter()
851 if (iocb->ki_flags & IOCB_DIRECT) { in ntfs_file_read_iter()
861 if (!(iocb->ki_flags & IOCB_DIRECT) || in ntfs_file_read_iter()
862 !ntfs_should_use_dio(iocb, iter)) { in ntfs_file_read_iter()
[all …]
/linux/fs/overlayfs/
H A Dfile.c290 static void ovl_file_end_write(struct kiocb *iocb, ssize_t ret) in ovl_file_end_write() argument
292 ovl_file_modified(iocb->ki_filp); in ovl_file_end_write()
323 static ssize_t ovl_read_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_read_iter() argument
325 struct file *file = iocb->ki_filp; in ovl_read_iter()
339 return backing_file_read_iter(realfile, iter, iocb, iocb->ki_flags, in ovl_read_iter()
343 static ssize_t ovl_write_iter(struct kiocb *iocb, struct iov_iter *iter) in ovl_write_iter() argument
345 struct file *file = iocb->ki_filp; in ovl_write_iter()
349 int ifl = iocb->ki_flags; in ovl_write_iter()
370 ret = backing_file_write_iter(realfile, iter, iocb, ifl, &ctx); in ovl_write_iter()
388 struct kiocb iocb; in ovl_splice_read() local
[all …]
/linux/fs/fuse/
H A Dfile.c646 struct address_space *mapping = io->iocb->ki_filp->f_mapping; in fuse_aio_invalidate_worker()
652 io->iocb->ki_complete(io->iocb, res); in fuse_aio_invalidate_worker()
688 struct inode *inode = file_inode(io->iocb->ki_filp); in fuse_aio_complete()
689 struct address_space *mapping = io->iocb->ki_filp->f_mapping; in fuse_aio_complete()
712 io->iocb->ki_complete(io->iocb, res); in fuse_aio_complete()
798 struct file *file = ia->io->iocb->ki_filp; in fuse_send_read()
1116 static ssize_t fuse_cache_read_iter(struct kiocb *iocb, struct iov_iter *to) in fuse_cache_read_iter() argument
1118 struct inode *inode = iocb->ki_filp->f_mapping->host; in fuse_cache_read_iter()
1127 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) { in fuse_cache_read_iter()
1129 err = fuse_update_attributes(inode, iocb->ki_filp, STATX_SIZE); in fuse_cache_read_iter()
[all …]
/linux/drivers/comedi/drivers/
H A Dcomedi_8254.c215 return 0xff & i8254->iocb(i8254, 0, reg, 0); in __i8254_read()
221 i8254->iocb(i8254, 1, reg, val); in __i8254_write()
619 static struct comedi_8254 *__i8254_init(comedi_8254_iocb_fn *iocb, in __i8254_init() argument
633 if (!iocb) in __i8254_init()
640 i8254->iocb = iocb; in __i8254_init()
672 comedi_8254_iocb_fn *iocb; in comedi_8254_io_alloc() local
676 iocb = i8254_io8_cb; in comedi_8254_io_alloc()
679 iocb = i8254_io16_cb; in comedi_8254_io_alloc()
682 iocb = i8254_io32_cb; in comedi_8254_io_alloc()
687 return __i8254_init(iocb, iobase, osc_base, iosize, regshift); in comedi_8254_io_alloc()
[all …]
/linux/drivers/nvme/target/
H A Dio-cmd-file.c79 struct kiocb *iocb = &req->f.iocb; in nvmet_file_submit_bvec() local
80 ssize_t (*call_iter)(struct kiocb *iocb, struct iov_iter *iter); in nvmet_file_submit_bvec()
96 iocb->ki_pos = pos; in nvmet_file_submit_bvec()
97 iocb->ki_filp = req->ns->file; in nvmet_file_submit_bvec()
98 iocb->ki_flags = ki_flags | iocb->ki_filp->f_iocb_flags; in nvmet_file_submit_bvec()
100 return call_iter(iocb, &iter); in nvmet_file_submit_bvec()
103 static void nvmet_file_io_done(struct kiocb *iocb, long ret) in nvmet_file_io_done() argument
105 struct nvmet_req *req = container_of(iocb, struct nvmet_req, f.iocb); in nvmet_file_io_done()
140 memset(&req->f.iocb, 0, sizeof(struct kiocb)); in nvmet_file_execute_io()
178 req->f.iocb.ki_complete = nvmet_file_io_done; in nvmet_file_execute_io()
[all …]
/linux/fs/ntfs/
H A Dfile.c454 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()
[all …]
/linux/fs/btrfs/
H A Ddirect-io.c819 static ssize_t btrfs_dio_read(struct kiocb *iocb, struct iov_iter *iter, in btrfs_dio_read() argument
824 return iomap_dio_rw(iocb, iter, &btrfs_dio_iomap_ops, &btrfs_dio_ops, in btrfs_dio_read()
847 static struct iomap_dio *btrfs_dio_write(struct kiocb *iocb, struct iov_iter *iter, in btrfs_dio_write() argument
853 if (need_stable_write(BTRFS_I(file_inode(iocb->ki_filp)))) { in btrfs_dio_write()
855 if (iocb->ki_flags & IOCB_NOWAIT) in btrfs_dio_write()
861 return __iomap_dio_rw(iocb, iter, &btrfs_dio_iomap_ops, &btrfs_dio_ops, in btrfs_dio_write()
878 ssize_t btrfs_direct_write(struct kiocb *iocb, struct iov_iter *from) in btrfs_direct_write() argument
880 struct file *file = iocb->ki_filp; in btrfs_direct_write()
892 if (iocb->ki_flags & IOCB_NOWAIT) in btrfs_direct_write()
901 if (iocb->ki_pos + iov_iter_count(from) <= i_size_read(inode) && IS_NOSEC(inode)) in btrfs_direct_write()
[all …]
/linux/fs/ceph/
H A Dfile.c1279 static ssize_t ceph_sync_read(struct kiocb *iocb, struct iov_iter *to, in ceph_sync_read() argument
1282 struct file *file = iocb->ki_filp; in ceph_sync_read()
1286 doutc(cl, "on file %p %llx~%zx %s\n", file, iocb->ki_pos, in ceph_sync_read()
1290 return __ceph_sync_read(inode, &iocb->ki_pos, to, retry_op, NULL); in ceph_sync_read()
1294 struct kiocb *iocb; member
1323 if (aio_req->iocb->ki_flags & IOCB_DIRECT) in ceph_aio_complete()
1335 loff_t endoff = aio_req->iocb->ki_pos + aio_req->total_len; in ceph_aio_complete()
1353 aio_req->iocb->ki_complete(aio_req->iocb, ret); in ceph_aio_complete()
1406 loff_t endoff = aio_req->iocb->ki_pos + rc; in ceph_aio_complete_req()
1519 ceph_direct_read_write(struct kiocb *iocb, struct iov_iter *iter, in ceph_direct_read_write() argument
[all …]
/linux/include/linux/
H A Diomap.h431 ssize_t iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *from,
623 int (*end_io)(struct kiocb *iocb, ssize_t size, int error,
676 ssize_t iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
679 struct iomap_dio *__iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter,
704 ssize_t __iomap_dio_read_simple(struct kiocb *iocb, struct iov_iter *iter,
706 static __always_inline ssize_t iomap_dio_read_simple(struct kiocb *iocb, in iomap_dio_read_simple() argument
710 .inode = file_inode(iocb->ki_filp), in iomap_dio_read_simple()
711 .pos = iocb->ki_pos, in iomap_dio_read_simple()
727 if (iocb->ki_pos + iomi.len > i_size_read(iomi.inode)) in iomap_dio_read_simple()
732 ret = kiocb_write_and_wait(iocb, iomi.len); in iomap_dio_read_simple()
[all …]

12345