• Home
  • Raw
  • Download

Lines Matching refs:aio_req

755 static inline void fuse_bpf_aio_put(struct fuse_bpf_aio_req *aio_req)  in fuse_bpf_aio_put()  argument
757 if (refcount_dec_and_test(&aio_req->ref)) in fuse_bpf_aio_put()
758 kmem_cache_free(fuse_bpf_aio_request_cachep, aio_req); in fuse_bpf_aio_put()
761 static void fuse_bpf_aio_cleanup_handler(struct fuse_bpf_aio_req *aio_req) in fuse_bpf_aio_cleanup_handler() argument
763 struct kiocb *iocb = &aio_req->iocb; in fuse_bpf_aio_cleanup_handler()
764 struct kiocb *iocb_orig = aio_req->iocb_orig; in fuse_bpf_aio_cleanup_handler()
773 fuse_bpf_aio_put(aio_req); in fuse_bpf_aio_cleanup_handler()
778 struct fuse_bpf_aio_req *aio_req = in fuse_bpf_aio_rw_complete() local
780 struct kiocb *iocb_orig = aio_req->iocb_orig; in fuse_bpf_aio_rw_complete()
782 fuse_bpf_aio_cleanup_handler(aio_req); in fuse_bpf_aio_rw_complete()
848 struct fuse_bpf_aio_req *aio_req; in fuse_file_read_iter_backing() local
851 aio_req = kmem_cache_zalloc(fuse_bpf_aio_request_cachep, GFP_KERNEL); in fuse_file_read_iter_backing()
852 if (!aio_req) in fuse_file_read_iter_backing()
855 aio_req->iocb_orig = iocb; in fuse_file_read_iter_backing()
856 kiocb_clone(&aio_req->iocb, iocb, ff->backing_file); in fuse_file_read_iter_backing()
857 aio_req->iocb.ki_complete = fuse_bpf_aio_rw_complete; in fuse_file_read_iter_backing()
858 refcount_set(&aio_req->ref, 2); in fuse_file_read_iter_backing()
859 ret = vfs_iocb_iter_read(ff->backing_file, &aio_req->iocb, to); in fuse_file_read_iter_backing()
860 fuse_bpf_aio_put(aio_req); in fuse_file_read_iter_backing()
862 fuse_bpf_aio_cleanup_handler(aio_req); in fuse_file_read_iter_backing()
941 struct fuse_bpf_aio_req *aio_req; in fuse_file_write_iter_backing() local
944 aio_req = kmem_cache_zalloc(fuse_bpf_aio_request_cachep, GFP_KERNEL); in fuse_file_write_iter_backing()
945 if (!aio_req) in fuse_file_write_iter_backing()
950 aio_req->iocb_orig = iocb; in fuse_file_write_iter_backing()
951 kiocb_clone(&aio_req->iocb, iocb, ff->backing_file); in fuse_file_write_iter_backing()
952 aio_req->iocb.ki_complete = fuse_bpf_aio_rw_complete; in fuse_file_write_iter_backing()
953 refcount_set(&aio_req->ref, 2); in fuse_file_write_iter_backing()
954 ret = vfs_iocb_iter_write(ff->backing_file, &aio_req->iocb, from); in fuse_file_write_iter_backing()
955 fuse_bpf_aio_put(aio_req); in fuse_file_write_iter_backing()
957 fuse_bpf_aio_cleanup_handler(aio_req); in fuse_file_write_iter_backing()