Lines Matching refs:iocb

700 ssize_t fuse_dax_read_iter(struct kiocb *iocb, struct iov_iter *to)  in fuse_dax_read_iter()  argument
702 struct inode *inode = file_inode(iocb->ki_filp); in fuse_dax_read_iter()
705 if (iocb->ki_flags & IOCB_NOWAIT) { in fuse_dax_read_iter()
712 ret = dax_iomap_rw(iocb, to, &fuse_iomap_ops); in fuse_dax_read_iter()
719 static bool file_extending_write(struct kiocb *iocb, struct iov_iter *from) in file_extending_write() argument
721 struct inode *inode = file_inode(iocb->ki_filp); in file_extending_write()
724 ((iocb->ki_pos) >= i_size_read(inode) || in file_extending_write()
725 (iocb->ki_pos + iov_iter_count(from) > i_size_read(inode)))); in file_extending_write()
728 static ssize_t fuse_dax_direct_write(struct kiocb *iocb, struct iov_iter *from) in fuse_dax_direct_write() argument
730 struct inode *inode = file_inode(iocb->ki_filp); in fuse_dax_direct_write()
731 struct fuse_io_priv io = FUSE_IO_PRIV_SYNC(iocb); in fuse_dax_direct_write()
734 ret = fuse_direct_io(&io, from, &iocb->ki_pos, FUSE_DIO_WRITE); in fuse_dax_direct_write()
736 fuse_write_update_attr(inode, iocb->ki_pos, ret); in fuse_dax_direct_write()
740 ssize_t fuse_dax_write_iter(struct kiocb *iocb, struct iov_iter *from) in fuse_dax_write_iter() argument
742 struct inode *inode = file_inode(iocb->ki_filp); in fuse_dax_write_iter()
745 if (iocb->ki_flags & IOCB_NOWAIT) { in fuse_dax_write_iter()
752 ret = generic_write_checks(iocb, from); in fuse_dax_write_iter()
756 ret = file_remove_privs(iocb->ki_filp); in fuse_dax_write_iter()
764 if (file_extending_write(iocb, from)) in fuse_dax_write_iter()
765 ret = fuse_dax_direct_write(iocb, from); in fuse_dax_write_iter()
767 ret = dax_iomap_rw(iocb, from, &fuse_iomap_ops); in fuse_dax_write_iter()
773 ret = generic_write_sync(iocb, ret); in fuse_dax_write_iter()