/linux-master/fs/fat/ |
H A D | inode.c | 255 static ssize_t fat_direct_IO(struct kiocb *iocb, struct iov_iter *iter) argument 257 struct file *file = iocb->ki_filp; 261 loff_t offset = iocb->ki_pos; 283 ret = blockdev_direct_IO(iocb, inode, iter, fat_get_block);
|
/linux-master/fs/fuse/ |
H A D | dax.c | 700 ssize_t fuse_dax_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 702 struct inode *inode = file_inode(iocb->ki_filp); 705 if (iocb->ki_flags & IOCB_NOWAIT) { 712 ret = dax_iomap_rw(iocb, to, &fuse_iomap_ops); 715 /* TODO file_accessed(iocb->f_filp) */ 719 static bool file_extending_write(struct kiocb *iocb, struct iov_iter *from) argument 721 struct inode *inode = file_inode(iocb->ki_filp); 724 ((iocb->ki_pos) >= i_size_read(inode) || 725 (iocb->ki_pos + iov_iter_count(from) > i_size_read(inode)))); 728 static ssize_t fuse_dax_direct_write(struct kiocb *iocb, struc argument 740 fuse_dax_write_iter(struct kiocb *iocb, struct iov_iter *from) argument [all...] |
H A D | dev.c | 1353 static ssize_t fuse_dev_read(struct kiocb *iocb, struct iov_iter *to) argument 1356 struct file *file = iocb->ki_filp; 2005 static ssize_t fuse_dev_write(struct kiocb *iocb, struct iov_iter *from) argument 2008 struct fuse_dev *fud = fuse_get_dev(iocb->ki_filp);
|
H A D | file.c | 712 struct inode *inode = file_inode(io->iocb->ki_filp); 721 io->iocb->ki_complete(io->iocb, res); 804 struct file *file = ia->io->iocb->ki_filp; 1033 static ssize_t fuse_cache_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 1035 struct inode *inode = iocb->ki_filp->f_mapping->host; 1044 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) { 1046 err = fuse_update_attributes(inode, iocb->ki_filp, STATX_SIZE); 1051 return generic_file_read_iter(iocb, to); 1076 static unsigned int fuse_write_flags(struct kiocb *iocb) argument 1091 struct kiocb *iocb = ia->io->iocb; local 1134 fuse_send_write_pages(struct fuse_io_args *ia, struct kiocb *iocb, struct inode *inode, loff_t pos, size_t count) argument 1267 fuse_perform_write(struct kiocb *iocb, struct iov_iter *ii) argument 1322 fuse_io_past_eof(struct kiocb *iocb, struct iov_iter *iter) argument 1332 fuse_dio_wr_exclusive_lock(struct kiocb *iocb, struct iov_iter *from) argument 1361 fuse_dio_lock(struct kiocb *iocb, struct iov_iter *from, bool *exclusive) argument 1388 fuse_dio_unlock(struct kiocb *iocb, bool exclusive) argument 1402 fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from) argument 1652 fuse_direct_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 1667 fuse_direct_write_iter(struct kiocb *iocb, struct iov_iter *from) argument 1691 fuse_file_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 1712 fuse_file_write_iter(struct kiocb *iocb, struct iov_iter *from) argument 2982 fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter) argument [all...] |
H A D | fuse_i.h | 351 struct kiocb *iocb; member in struct:fuse_io_priv 360 .iocb = i, \ 1374 ssize_t fuse_dax_read_iter(struct kiocb *iocb, struct iov_iter *to); 1375 ssize_t fuse_dax_write_iter(struct kiocb *iocb, struct iov_iter *from); 1465 ssize_t fuse_passthrough_read_iter(struct kiocb *iocb, struct iov_iter *iter); 1466 ssize_t fuse_passthrough_write_iter(struct kiocb *iocb, struct iov_iter *iter);
|
H A D | passthrough.c | 28 ssize_t fuse_passthrough_read_iter(struct kiocb *iocb, struct iov_iter *iter) argument 30 struct file *file = iocb->ki_filp; 43 backing_file, iocb->ki_pos, count); 48 ret = backing_file_read_iter(backing_file, iter, iocb, iocb->ki_flags, 54 ssize_t fuse_passthrough_write_iter(struct kiocb *iocb, argument 57 struct file *file = iocb->ki_filp; 70 backing_file, iocb->ki_pos, count); 76 ret = backing_file_write_iter(backing_file, iter, iocb, iocb [all...] |
/linux-master/fs/gfs2/ |
H A D | file.c | 779 struct kiocb *iocb, 796 offs = offset_in_page(iocb->ki_pos); 810 static ssize_t gfs2_file_direct_read(struct kiocb *iocb, struct iov_iter *to, argument 813 struct file *file = iocb->ki_filp; 846 ret = iomap_dio_rw(iocb, to, &gfs2_iomap_ops, NULL, 856 if (should_fault_in_pages(to, iocb, &prev_count, &window_size)) { 873 static ssize_t gfs2_file_direct_write(struct kiocb *iocb, struct iov_iter *from, argument 876 struct file *file = iocb->ki_filp; 908 if (iocb->ki_pos + iov_iter_count(from) > i_size_read(&ip->i_inode)) 912 ret = iomap_dio_rw(iocb, fro 778 should_fault_in_pages(struct iov_iter *i, struct kiocb *iocb, size_t *prev_count, size_t *window_size) argument 948 gfs2_file_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 1009 gfs2_file_buffered_write(struct kiocb *iocb, struct iov_iter *from, struct gfs2_holder *gh) argument 1098 gfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *from) argument [all...] |
/linux-master/fs/hfs/ |
H A D | inode.c | 125 static ssize_t hfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter) argument 127 struct file *file = iocb->ki_filp; 133 ret = blockdev_direct_IO(iocb, inode, iter, hfs_get_block); 141 loff_t end = iocb->ki_pos + count;
|
/linux-master/fs/hfsplus/ |
H A D | inode.c | 122 static ssize_t hfsplus_direct_IO(struct kiocb *iocb, struct iov_iter *iter) argument 124 struct file *file = iocb->ki_filp; 130 ret = blockdev_direct_IO(iocb, inode, iter, hfsplus_get_block); 138 loff_t end = iocb->ki_pos + count;
|
/linux-master/fs/hugetlbfs/ |
H A D | inode.c | 312 static ssize_t hugetlbfs_read_iter(struct kiocb *iocb, struct iov_iter *to) argument 314 struct file *file = iocb->ki_filp; 318 unsigned long index = iocb->ki_pos >> huge_page_shift(h); 319 unsigned long offset = iocb->ki_pos & ~huge_page_mask(h); 386 iocb->ki_pos = ((loff_t)index << huge_page_shift(h)) + offset;
|
/linux-master/fs/ |
H A D | inode.c | 2202 * @iocb: iocb that was modified 2211 int kiocb_modified(struct kiocb *iocb) argument 2213 return file_modified_flags(iocb->ki_filp, iocb->ki_flags);
|
H A D | libfs.c | 1602 ssize_t noop_direct_IO(struct kiocb *iocb, struct iov_iter *iter) argument 1974 ssize_t direct_write_fallback(struct kiocb *iocb, struct iov_iter *iter, argument 1977 struct address_space *mapping = iocb->ki_filp->f_mapping; 1978 loff_t pos = iocb->ki_pos - buffered_written; 1979 loff_t end = iocb->ki_pos - 1; 2006 iocb->ki_pos -= buffered_written;
|
/linux-master/fs/iomap/ |
H A D | buffered-io.c | 1011 iomap_file_buffered_write(struct kiocb *iocb, struct iov_iter *i, argument 1015 .inode = iocb->ki_filp->f_mapping->host, 1016 .pos = iocb->ki_pos, 1022 if (iocb->ki_flags & IOCB_NOWAIT) 1028 if (unlikely(iter.pos == iocb->ki_pos)) 1030 ret = iter.pos - iocb->ki_pos; 1031 iocb->ki_pos = iter.pos;
|
H A D | direct-io.c | 31 struct kiocb *iocb; member in struct:iomap_dio 67 struct kiocb *iocb = dio->iocb; local 72 if ((iocb->ki_flags & IOCB_HIPRI) && !is_sync_kiocb(iocb)) { 73 bio_set_polled(bio, iocb); 74 WRITE_ONCE(iocb->private, bio); 86 struct kiocb *iocb = dio->iocb; local 87 loff_t offset = iocb 144 struct kiocb *iocb = dio->iocb; local 163 struct kiocb *iocb = dio->iocb; local 541 __iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, const struct iomap_ops *ops, const struct iomap_dio_ops *dops, unsigned int dio_flags, void *private, size_t done_before) argument 743 iomap_dio_rw(struct kiocb *iocb, struct iov_iter *iter, const struct iomap_ops *ops, const struct iomap_dio_ops *dops, unsigned int dio_flags, void *private, size_t done_before) argument [all...] |
H A D | trace.h | 237 TP_PROTO(struct kiocb *iocb, struct iov_iter *iter, 239 TP_ARGS(iocb, iter, dio_flags, done_before), 252 __entry->dev = file_inode(iocb->ki_filp)->i_sb->s_dev; 253 __entry->ino = file_inode(iocb->ki_filp)->i_ino; 254 __entry->isize = file_inode(iocb->ki_filp)->i_size; 255 __entry->pos = iocb->ki_pos; 258 __entry->ki_flags = iocb->ki_flags; 260 __entry->aio = !is_sync_kiocb(iocb); 275 TP_PROTO(struct kiocb *iocb, int error, ssize_t ret), 276 TP_ARGS(iocb, erro [all...] |
/linux-master/fs/jfs/ |
H A D | inode.c | 323 static ssize_t jfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter) argument 325 struct file *file = iocb->ki_filp; 331 ret = blockdev_direct_IO(iocb, inode, iter, jfs_get_block); 339 loff_t end = iocb->ki_pos + count;
|
/linux-master/fs/kernfs/ |
H A D | file.c | 221 static ssize_t kernfs_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) argument 223 struct kernfs_open_file *of = kernfs_of(iocb->ki_filp); 251 len = ops->read(of, buf, len, iocb->ki_pos); 266 iocb->ki_pos += len; 276 static ssize_t kernfs_fop_read_iter(struct kiocb *iocb, struct iov_iter *iter) argument 278 if (kernfs_of(iocb->ki_filp)->kn->flags & KERNFS_HAS_SEQ_SHOW) 279 return seq_read_iter(iocb, iter); 280 return kernfs_file_read_iter(iocb, iter); 293 static ssize_t kernfs_fop_write_iter(struct kiocb *iocb, struct iov_iter *iter) argument 295 struct kernfs_open_file *of = kernfs_of(iocb [all...] |
/linux-master/fs/netfs/ |
H A D | buffered_read.c | 576 * @iocb: kernel I/O control block 582 * The IOCB_NOWAIT flag in iocb->ki_flags indicates that -EAGAIN shall be 586 * The IOCB_NOIO flag in iocb->ki_flags indicates that no new I/O requests 595 ssize_t netfs_buffered_read_iter(struct kiocb *iocb, struct iov_iter *iter) argument 597 struct inode *inode = file_inode(iocb->ki_filp); 601 if (WARN_ON_ONCE((iocb->ki_flags & IOCB_DIRECT) || 607 ret = filemap_read(iocb, iter, 0); 616 * @iocb: kernel I/O control block 622 * The IOCB_NOWAIT flag in iocb->ki_flags indicates that -EAGAIN shall be 626 * The IOCB_NOIO flag in iocb 635 netfs_file_read_iter(struct kiocb *iocb, struct iov_iter *iter) argument [all...] |
H A D | buffered_write.c | 153 * @iocb: The operation parameters 157 * Copy data into pagecache pages attached to the inode specified by @iocb. 165 ssize_t netfs_perform_write(struct kiocb *iocb, struct iov_iter *iter, argument 168 struct file *file = iocb->ki_filp; 176 .range_start = iocb->ki_pos, 177 .range_end = iocb->ki_pos + iter->count, 184 unsigned int bdp_flags = (iocb->ki_flags & IOCB_SYNC) ? 0: BDP_ASYNC; 186 loff_t i_size, pos = iocb->ki_pos, from, to; 191 iocb->ki_flags & (IOCB_DSYNC | IOCB_SYNC)) 201 wreq = netfs_begin_writethrough(iocb, ite 454 netfs_buffered_write_iter_locked(struct kiocb *iocb, struct iov_iter *from, struct netfs_group *netfs_group) argument 487 netfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) argument [all...] |
H A D | direct_read.c | 21 * @iocb: The I/O control descriptor describing the read 24 * Perform an unbuffered I/O or direct I/O from the file in @iocb to the 29 ssize_t netfs_unbuffered_read_iter_locked(struct kiocb *iocb, struct iov_iter *iter) argument 34 bool async = !is_sync_kiocb(iocb); 41 ret = kiocb_write_and_wait(iocb, orig_count); 44 file_accessed(iocb->ki_filp); 46 rreq = netfs_alloc_request(iocb->ki_filp->f_mapping, iocb->ki_filp, 47 iocb->ki_pos, orig_count, 82 rreq->iocb 110 netfs_unbuffered_read_iter(struct kiocb *iocb, struct iov_iter *iter) argument [all...] |
H A D | direct_write.c | 30 static ssize_t netfs_unbuffered_write_iter_locked(struct kiocb *iocb, struct iov_iter *iter, argument 34 unsigned long long start = iocb->ki_pos; 38 bool async = !is_sync_kiocb(iocb); 50 wreq = netfs_create_write_req(iocb->ki_filp->f_mapping, iocb->ki_filp, start, 51 iocb->ki_flags & IOCB_DIRECT ? 57 trace_netfs_write(wreq, (iocb->ki_flags & IOCB_DIRECT ? 94 wreq->iocb = iocb; 96 ret = netfs_unbuffered_write(wreq, is_sync_kiocb(iocb), iov_iter_coun 134 netfs_unbuffered_write_iter(struct kiocb *iocb, struct iov_iter *from) argument [all...] |
H A D | internal.h | 166 struct netfs_io_request *netfs_begin_writethrough(struct kiocb *iocb, size_t len);
|
H A D | io.c | 238 if (rreq->iocb) { 239 rreq->iocb->ki_pos += transferred; 240 if (rreq->iocb->ki_complete) 241 rreq->iocb->ki_complete( 242 rreq->iocb, rreq->error ? rreq->error : transferred);
|
H A D | write_collect.c | 692 if (wreq->iocb) { 693 wreq->iocb->ki_pos += wreq->transferred; 694 if (wreq->iocb->ki_complete) 695 wreq->iocb->ki_complete( 696 wreq->iocb, wreq->error ? wreq->error : wreq->transferred); 697 wreq->iocb = VFS_PTR_POISON;
|
H A D | write_issue.c | 564 struct netfs_io_request *netfs_begin_writethrough(struct kiocb *iocb, size_t len) argument 567 struct netfs_inode *ictx = netfs_inode(file_inode(iocb->ki_filp)); 571 wreq = netfs_create_write_req(iocb->ki_filp->f_mapping, iocb->ki_filp, 572 iocb->ki_pos, NETFS_WRITETHROUGH);
|