Lines Matching refs:iocb

672 			struct inode *inode = file_inode(io->iocb->ki_filp);  in fuse_aio_complete()
681 io->iocb->ki_complete(io->iocb, res, 0); in fuse_aio_complete()
764 struct file *file = ia->io->iocb->ki_filp; in fuse_send_read()
993 static ssize_t fuse_cache_read_iter(struct kiocb *iocb, struct iov_iter *to) in fuse_cache_read_iter() argument
995 struct inode *inode = iocb->ki_filp->f_mapping->host; in fuse_cache_read_iter()
1004 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) { in fuse_cache_read_iter()
1006 err = fuse_update_attributes(inode, iocb->ki_filp); in fuse_cache_read_iter()
1011 return generic_file_read_iter(iocb, to); in fuse_cache_read_iter()
1036 static unsigned int fuse_write_flags(struct kiocb *iocb) in fuse_write_flags() argument
1038 unsigned int flags = iocb->ki_filp->f_flags; in fuse_write_flags()
1040 if (iocb->ki_flags & IOCB_DSYNC) in fuse_write_flags()
1042 if (iocb->ki_flags & IOCB_SYNC) in fuse_write_flags()
1051 struct kiocb *iocb = ia->io->iocb; in fuse_send_write() local
1052 struct file *file = iocb->ki_filp; in fuse_send_write()
1059 inarg->flags = fuse_write_flags(iocb); in fuse_send_write()
1093 struct kiocb *iocb, struct inode *inode, in fuse_send_write_pages() argument
1097 struct file *file = iocb->ki_filp; in fuse_send_write_pages()
1108 ia->write.in.flags = fuse_write_flags(iocb); in fuse_send_write_pages()
1225 static ssize_t fuse_perform_write(struct kiocb *iocb, in fuse_perform_write() argument
1255 err = fuse_send_write_pages(&ia, iocb, inode, in fuse_perform_write()
1280 static ssize_t fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from) in fuse_cache_write_iter() argument
1282 struct file *file = iocb->ki_filp; in fuse_cache_write_iter()
1296 return generic_file_write_iter(iocb, from); in fuse_cache_write_iter()
1304 err = generic_write_checks(iocb, from); in fuse_cache_write_iter()
1316 if (iocb->ki_flags & IOCB_DIRECT) { in fuse_cache_write_iter()
1317 loff_t pos = iocb->ki_pos; in fuse_cache_write_iter()
1318 written = generic_file_direct_write(iocb, from); in fuse_cache_write_iter()
1324 written_buffered = fuse_perform_write(iocb, mapping, from, pos); in fuse_cache_write_iter()
1341 iocb->ki_pos = pos + written_buffered; in fuse_cache_write_iter()
1343 written = fuse_perform_write(iocb, mapping, from, iocb->ki_pos); in fuse_cache_write_iter()
1345 iocb->ki_pos += written; in fuse_cache_write_iter()
1351 written = generic_write_sync(iocb, written); in fuse_cache_write_iter()
1439 struct file *file = io->iocb->ki_filp; in fuse_direct_io()
1527 struct inode *inode = file_inode(io->iocb->ki_filp); in __fuse_direct_read()
1536 static ssize_t fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter);
1538 static ssize_t fuse_direct_read_iter(struct kiocb *iocb, struct iov_iter *to) in fuse_direct_read_iter() argument
1542 if (!is_sync_kiocb(iocb) && iocb->ki_flags & IOCB_DIRECT) { in fuse_direct_read_iter()
1543 res = fuse_direct_IO(iocb, to); in fuse_direct_read_iter()
1545 struct fuse_io_priv io = FUSE_IO_PRIV_SYNC(iocb); in fuse_direct_read_iter()
1547 res = __fuse_direct_read(&io, to, &iocb->ki_pos); in fuse_direct_read_iter()
1553 static ssize_t fuse_direct_write_iter(struct kiocb *iocb, struct iov_iter *from) in fuse_direct_write_iter() argument
1555 struct inode *inode = file_inode(iocb->ki_filp); in fuse_direct_write_iter()
1556 struct fuse_io_priv io = FUSE_IO_PRIV_SYNC(iocb); in fuse_direct_write_iter()
1561 res = generic_write_checks(iocb, from); in fuse_direct_write_iter()
1563 if (!is_sync_kiocb(iocb) && iocb->ki_flags & IOCB_DIRECT) { in fuse_direct_write_iter()
1564 res = fuse_direct_IO(iocb, from); in fuse_direct_write_iter()
1566 res = fuse_direct_io(&io, from, &iocb->ki_pos, in fuse_direct_write_iter()
1572 fuse_write_update_size(inode, iocb->ki_pos); in fuse_direct_write_iter()
1578 static ssize_t fuse_file_read_iter(struct kiocb *iocb, struct iov_iter *to) in fuse_file_read_iter() argument
1580 struct file *file = iocb->ki_filp; in fuse_file_read_iter()
1588 return fuse_dax_read_iter(iocb, to); in fuse_file_read_iter()
1591 return fuse_passthrough_read_iter(iocb, to); in fuse_file_read_iter()
1593 return fuse_cache_read_iter(iocb, to); in fuse_file_read_iter()
1595 return fuse_direct_read_iter(iocb, to); in fuse_file_read_iter()
1598 static ssize_t fuse_file_write_iter(struct kiocb *iocb, struct iov_iter *from) in fuse_file_write_iter() argument
1600 struct file *file = iocb->ki_filp; in fuse_file_write_iter()
1608 return fuse_dax_write_iter(iocb, from); in fuse_file_write_iter()
1611 return fuse_passthrough_write_iter(iocb, from); in fuse_file_write_iter()
1613 return fuse_cache_write_iter(iocb, from); in fuse_file_write_iter()
1615 return fuse_direct_write_iter(iocb, from); in fuse_file_write_iter()
3167 fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter) in fuse_direct_IO() argument
3171 struct file *file = iocb->ki_filp; in fuse_direct_IO()
3177 loff_t offset = iocb->ki_pos; in fuse_direct_IO()
3203 io->iocb = iocb; in fuse_direct_IO()
3204 io->blocking = is_sync_kiocb(iocb); in fuse_direct_IO()