Lines Matching defs:iocb
675 struct inode *inode = file_inode(io->iocb->ki_filp);
684 io->iocb->ki_complete(io->iocb, res, 0);
767 struct file *file = ia->io->iocb->ki_filp;
996 static ssize_t fuse_cache_read_iter(struct kiocb *iocb, struct iov_iter *to)
998 struct inode *inode = iocb->ki_filp->f_mapping->host;
1007 (iocb->ki_pos + iov_iter_count(to) > i_size_read(inode))) {
1009 err = fuse_update_attributes(inode, iocb->ki_filp);
1014 return generic_file_read_iter(iocb, to);
1039 static unsigned int fuse_write_flags(struct kiocb *iocb)
1041 unsigned int flags = iocb->ki_filp->f_flags;
1043 if (iocb->ki_flags & IOCB_DSYNC)
1045 if (iocb->ki_flags & IOCB_SYNC)
1054 struct kiocb *iocb = ia->io->iocb;
1055 struct file *file = iocb->ki_filp;
1062 inarg->flags = fuse_write_flags(iocb);
1096 struct kiocb *iocb, struct inode *inode,
1100 struct file *file = iocb->ki_filp;
1111 ia->write.in.flags = fuse_write_flags(iocb);
1228 static ssize_t fuse_perform_write(struct kiocb *iocb,
1258 err = fuse_send_write_pages(&ia, iocb, inode,
1283 static ssize_t fuse_cache_write_iter(struct kiocb *iocb, struct iov_iter *from)
1285 struct file *file = iocb->ki_filp;
1299 return generic_file_write_iter(iocb, from);
1307 err = generic_write_checks(iocb, from);
1319 if (iocb->ki_flags & IOCB_DIRECT) {
1320 loff_t pos = iocb->ki_pos;
1321 written = generic_file_direct_write(iocb, from);
1327 written_buffered = fuse_perform_write(iocb, mapping, from, pos);
1344 iocb->ki_pos = pos + written_buffered;
1346 written = fuse_perform_write(iocb, mapping, from, iocb->ki_pos);
1348 iocb->ki_pos += written;
1354 written = generic_write_sync(iocb, written);
1442 struct file *file = io->iocb->ki_filp;
1530 struct inode *inode = file_inode(io->iocb->ki_filp);
1539 static ssize_t fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter);
1541 static ssize_t fuse_direct_read_iter(struct kiocb *iocb, struct iov_iter *to)
1545 if (!is_sync_kiocb(iocb) && iocb->ki_flags & IOCB_DIRECT) {
1546 res = fuse_direct_IO(iocb, to);
1548 struct fuse_io_priv io = FUSE_IO_PRIV_SYNC(iocb);
1550 res = __fuse_direct_read(&io, to, &iocb->ki_pos);
1556 static ssize_t fuse_direct_write_iter(struct kiocb *iocb, struct iov_iter *from)
1558 struct inode *inode = file_inode(iocb->ki_filp);
1559 struct fuse_io_priv io = FUSE_IO_PRIV_SYNC(iocb);
1564 res = generic_write_checks(iocb, from);
1566 if (!is_sync_kiocb(iocb) && iocb->ki_flags & IOCB_DIRECT) {
1567 res = fuse_direct_IO(iocb, from);
1569 res = fuse_direct_io(&io, from, &iocb->ki_pos,
1575 fuse_write_update_size(inode, iocb->ki_pos);
1581 static ssize_t fuse_file_read_iter(struct kiocb *iocb, struct iov_iter *to)
1583 struct file *file = iocb->ki_filp;
1591 return fuse_dax_read_iter(iocb, to);
1594 return fuse_cache_read_iter(iocb, to);
1596 return fuse_direct_read_iter(iocb, to);
1599 static ssize_t fuse_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
1601 struct file *file = iocb->ki_filp;
1609 return fuse_dax_write_iter(iocb, from);
1612 return fuse_cache_write_iter(iocb, from);
1614 return fuse_direct_write_iter(iocb, from);
3163 fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
3167 struct file *file = iocb->ki_filp;
3173 loff_t offset = iocb->ki_pos;
3199 io->iocb = iocb;
3200 io->blocking = is_sync_kiocb(iocb);