Lines Matching refs:req
13 struct cachefiles_req *req;
23 xas_for_each(&xas, req, ULONG_MAX) {
24 if (req->msg.object_id == object_id &&
25 req->msg.opcode == CACHEFILES_OP_READ) {
26 req->error = -EIO;
27 complete(&req->done);
85 struct cachefiles_req *req;
95 req = xa_erase(&cache->reqs, id);
96 if (!req)
100 complete(&req->done);
119 struct cachefiles_req *req;
148 req = xa_erase(&cache->reqs, id);
149 if (!req)
155 req->error = ret;
162 req->error = -EINVAL;
165 req->error = size;
171 cookie = req->object->cookie;
177 trace_cachefiles_ondemand_copen(req->object, id, size);
180 complete(&req->done);
184 static int cachefiles_ondemand_get_fd(struct cachefiles_req *req)
193 object = cachefiles_grab_object(req->object,
219 load = (void *)req->msg.data;
221 req->msg.object_id = object_id;
225 trace_cachefiles_ondemand_open(object, &req->msg, load);
240 struct cachefiles_req *req;
253 req = xas_find_marked(&xas, UINT_MAX, CACHEFILES_REQ_NEW);
254 if (!req && cache->req_id_next > 0) {
256 req = xas_find_marked(&xas, cache->req_id_next - 1, CACHEFILES_REQ_NEW);
258 if (!req) {
263 msg = &req->msg;
279 ret = cachefiles_ondemand_get_fd(req);
292 complete(&req->done);
302 req->error = ret;
303 complete(&req->done);
307 typedef int (*init_req_fn)(struct cachefiles_req *req, void *private);
316 struct cachefiles_req *req;
326 req = kzalloc(sizeof(*req) + data_len, GFP_KERNEL);
327 if (!req)
330 req->object = object;
331 init_completion(&req->done);
332 req->msg.opcode = opcode;
333 req->msg.len = sizeof(struct cachefiles_msg) + data_len;
335 ret = init_req(req, private);
377 xas_store(&xas, req);
388 wait_for_completion(&req->done);
389 ret = req->error;
391 kfree(req);
395 static int cachefiles_ondemand_init_open_req(struct cachefiles_req *req,
398 struct cachefiles_object *object = req->object;
401 struct cachefiles_open *load = (void *)req->msg.data;
429 static int cachefiles_ondemand_init_close_req(struct cachefiles_req *req,
432 struct cachefiles_object *object = req->object;
444 req->msg.object_id = object_id;
445 trace_cachefiles_ondemand_close(object, &req->msg);
454 static int cachefiles_ondemand_init_read_req(struct cachefiles_req *req,
457 struct cachefiles_object *object = req->object;
458 struct cachefiles_read *load = (void *)req->msg.data;
469 req->msg.object_id = object_id;
472 trace_cachefiles_ondemand_read(object, &req->msg, load);