Lines Matching full:object

10 	struct cachefiles_object *object = file->private_data;  in cachefiles_ondemand_fd_release()  local
11 struct cachefiles_cache *cache = object->volume->cache; in cachefiles_ondemand_fd_release()
12 struct cachefiles_ondemand_info *info = object->ondemand; in cachefiles_ondemand_fd_release()
19 cachefiles_ondemand_set_object_close(object); in cachefiles_ondemand_fd_release()
32 trace_cachefiles_ondemand_fd_release(object, object_id); in cachefiles_ondemand_fd_release()
33 cachefiles_put_object(object, cachefiles_obj_put_ondemand_fd); in cachefiles_ondemand_fd_release()
41 struct cachefiles_object *object = kiocb->ki_filp->private_data; in cachefiles_ondemand_fd_write_iter() local
42 struct cachefiles_cache *cache = object->volume->cache; in cachefiles_ondemand_fd_write_iter()
43 struct file *file = object->file; in cachefiles_ondemand_fd_write_iter()
53 ret = __cachefiles_prepare_write(object, file, &pos, &len, len, true); in cachefiles_ondemand_fd_write_iter()
58 trace_cachefiles_ondemand_fd_write(object, file_inode(file), pos, len); in cachefiles_ondemand_fd_write_iter()
59 ret = __cachefiles_write(object, file, pos, iter, NULL, NULL); in cachefiles_ondemand_fd_write_iter()
69 struct cachefiles_object *object = filp->private_data; in cachefiles_ondemand_fd_llseek() local
70 struct file *file = object->file; in cachefiles_ondemand_fd_llseek()
81 struct cachefiles_object *object = filp->private_data; in cachefiles_ondemand_fd_ioctl() local
82 struct cachefiles_cache *cache = object->volume->cache; in cachefiles_ondemand_fd_ioctl()
97 trace_cachefiles_ondemand_cread(object, id); in cachefiles_ondemand_fd_ioctl()
113 * <cache_size> indicates the object size if >=0, error code if negative
169 cookie = req->object->cookie; in cachefiles_ondemand_copen()
175 trace_cachefiles_ondemand_copen(req->object, id, size); in cachefiles_ondemand_copen()
177 cachefiles_ondemand_set_object_open(req->object); in cachefiles_ondemand_copen()
210 struct cachefiles_object *object; in cachefiles_ondemand_get_fd() local
217 object = cachefiles_grab_object(req->object, in cachefiles_ondemand_get_fd()
219 cache = object->volume->cache; in cachefiles_ondemand_get_fd()
234 object, O_WRONLY); in cachefiles_ondemand_get_fd()
245 object->ondemand->ondemand_id = object_id; in cachefiles_ondemand_get_fd()
248 trace_cachefiles_ondemand_open(object, &req->msg, load); in cachefiles_ondemand_get_fd()
256 cachefiles_put_object(object, cachefiles_obj_put_ondemand_fd); in cachefiles_ondemand_get_fd()
265 cachefiles_ondemand_init_object(info->object); in ondemand_object_worker()
270 * closed object, reopen it.
271 * Skip read requests whose related object is reopening.
277 struct cachefiles_object *object; in cachefiles_ondemand_select_req() local
283 object = req->object; in cachefiles_ondemand_select_req()
284 info = object->ondemand; in cachefiles_ondemand_select_req()
285 if (cachefiles_ondemand_object_is_close(object)) { in cachefiles_ondemand_select_req()
286 cachefiles_ondemand_set_object_reopening(object); in cachefiles_ondemand_select_req()
290 if (cachefiles_ondemand_object_is_reopening(object)) in cachefiles_ondemand_select_req()
340 cachefiles_ondemand_set_object_close(req->object); in cachefiles_ondemand_daemon_read()
346 msg->object_id = req->object->ondemand->ondemand_id; in cachefiles_ondemand_daemon_read()
373 static int cachefiles_ondemand_send_req(struct cachefiles_object *object, in cachefiles_ondemand_send_req() argument
379 struct cachefiles_cache *cache = object->volume->cache; in cachefiles_ondemand_send_req()
398 req->object = object; in cachefiles_ondemand_send_req()
435 !cachefiles_ondemand_object_is_open(object)) { in cachefiles_ondemand_send_req()
436 WARN_ON_ONCE(object->ondemand->ondemand_id == 0); in cachefiles_ondemand_send_req()
462 /* Reset the object to close state in error handling path. in cachefiles_ondemand_send_req()
464 * cachefiles_ondemand_fd_release() will set object to close. in cachefiles_ondemand_send_req()
467 cachefiles_ondemand_set_object_close(object); in cachefiles_ondemand_send_req()
475 struct cachefiles_object *object = req->object; in cachefiles_ondemand_init_open_req() local
476 struct fscache_cookie *cookie = object->cookie; in cachefiles_ondemand_init_open_req()
477 struct fscache_volume *volume = object->volume->vcookie; in cachefiles_ondemand_init_open_req()
493 if (!(object->cookie->advice & FSCACHE_ADV_WANT_CACHE_SIZE)) { in cachefiles_ondemand_init_open_req()
509 struct cachefiles_object *object = req->object; in cachefiles_ondemand_init_close_req() local
511 if (!cachefiles_ondemand_object_is_open(object)) in cachefiles_ondemand_init_close_req()
514 trace_cachefiles_ondemand_close(object, &req->msg); in cachefiles_ondemand_init_close_req()
526 struct cachefiles_object *object = req->object; in cachefiles_ondemand_init_read_req() local
532 trace_cachefiles_ondemand_read(object, &req->msg, load); in cachefiles_ondemand_init_read_req()
536 int cachefiles_ondemand_init_object(struct cachefiles_object *object) in cachefiles_ondemand_init_object() argument
538 struct fscache_cookie *cookie = object->cookie; in cachefiles_ondemand_init_object()
539 struct fscache_volume *volume = object->volume->vcookie; in cachefiles_ondemand_init_object()
542 if (!object->ondemand) in cachefiles_ondemand_init_object()
549 * allocated object ID if any. in cachefiles_ondemand_init_object()
551 if (cachefiles_ondemand_object_is_open(object)) in cachefiles_ondemand_init_object()
559 return cachefiles_ondemand_send_req(object, CACHEFILES_OP_OPEN, in cachefiles_ondemand_init_object()
563 void cachefiles_ondemand_clean_object(struct cachefiles_object *object) in cachefiles_ondemand_clean_object() argument
565 cachefiles_ondemand_send_req(object, CACHEFILES_OP_CLOSE, 0, in cachefiles_ondemand_clean_object()
569 int cachefiles_ondemand_init_obj_info(struct cachefiles_object *object, in cachefiles_ondemand_init_obj_info() argument
575 object->ondemand = kzalloc(sizeof(struct cachefiles_ondemand_info), in cachefiles_ondemand_init_obj_info()
577 if (!object->ondemand) in cachefiles_ondemand_init_obj_info()
580 object->ondemand->object = object; in cachefiles_ondemand_init_obj_info()
581 INIT_WORK(&object->ondemand->ondemand_work, ondemand_object_worker); in cachefiles_ondemand_init_obj_info()
585 void cachefiles_ondemand_deinit_obj_info(struct cachefiles_object *object) in cachefiles_ondemand_deinit_obj_info() argument
587 kfree(object->ondemand); in cachefiles_ondemand_deinit_obj_info()
588 object->ondemand = NULL; in cachefiles_ondemand_deinit_obj_info()
591 int cachefiles_ondemand_read(struct cachefiles_object *object, in cachefiles_ondemand_read() argument
596 return cachefiles_ondemand_send_req(object, CACHEFILES_OP_READ, in cachefiles_ondemand_read()