Lines Matching refs:object
32 void __cachefiles_printk_object(struct cachefiles_object *object, in __cachefiles_printk_object() argument
39 pr_err("%sobject: OBJ%x\n", prefix, object->fscache.debug_id); in __cachefiles_printk_object()
41 prefix, object->fscache.state->name, in __cachefiles_printk_object()
42 object->fscache.flags, work_busy(&object->fscache.work), in __cachefiles_printk_object()
43 object->fscache.events, object->fscache.event_mask); in __cachefiles_printk_object()
45 prefix, object->fscache.n_ops, object->fscache.n_in_progress, in __cachefiles_printk_object()
46 object->fscache.n_exclusive); in __cachefiles_printk_object()
48 prefix, object->fscache.parent); in __cachefiles_printk_object()
50 spin_lock(&object->fscache.lock); in __cachefiles_printk_object()
51 cookie = object->fscache.cookie; in __cachefiles_printk_object()
55 object->fscache.cookie, in __cachefiles_printk_object()
56 object->fscache.cookie->parent, in __cachefiles_printk_object()
57 object->fscache.cookie->netfs_data, in __cachefiles_printk_object()
58 object->fscache.cookie->flags); in __cachefiles_printk_object()
68 spin_unlock(&object->fscache.lock); in __cachefiles_printk_object()
74 static noinline void cachefiles_printk_object(struct cachefiles_object *object, in cachefiles_printk_object() argument
77 if (object) in cachefiles_printk_object()
78 __cachefiles_printk_object(object, ""); in cachefiles_printk_object()
93 struct cachefiles_object *object; in cachefiles_mark_object_buried() local
102 object = rb_entry(p, struct cachefiles_object, active_node); in cachefiles_mark_object_buried()
103 if (object->dentry > dentry) in cachefiles_mark_object_buried()
105 else if (object->dentry < dentry) in cachefiles_mark_object_buried()
119 object->fscache.debug_id, in cachefiles_mark_object_buried()
120 object->fscache.state->name, in cachefiles_mark_object_buried()
123 trace_cachefiles_mark_buried(object, dentry, why); in cachefiles_mark_object_buried()
125 if (fscache_object_is_live(&object->fscache)) { in cachefiles_mark_object_buried()
128 cachefiles_printk_object(object, NULL); in cachefiles_mark_object_buried()
131 fscache_object_mark_killed(&object->fscache, why); in cachefiles_mark_object_buried()
142 struct cachefiles_object *object) in cachefiles_mark_object_active() argument
148 _enter(",%p", object); in cachefiles_mark_object_active()
153 dentry = object->dentry; in cachefiles_mark_object_active()
154 trace_cachefiles_mark_active(object, dentry); in cachefiles_mark_object_active()
156 if (test_and_set_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags)) { in cachefiles_mark_object_active()
158 cachefiles_printk_object(object, NULL); in cachefiles_mark_object_active()
168 ASSERT(xobject != object); in cachefiles_mark_object_active()
178 rb_link_node(&object->active_node, _parent, _p); in cachefiles_mark_object_active()
179 rb_insert_color(&object->active_node, &cache->active_nodes); in cachefiles_mark_object_active()
188 trace_cachefiles_wait_active(object, dentry, xobject); in cachefiles_mark_object_active()
189 clear_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags); in cachefiles_mark_object_active()
194 cachefiles_printk_object(object, xobject); in cachefiles_mark_object_active()
210 object->fscache.debug_id, in cachefiles_mark_object_active()
232 object->fscache.debug_id, in cachefiles_mark_object_active()
240 cachefiles_printk_object(object, xobject); in cachefiles_mark_object_active()
260 struct cachefiles_object *object, in cachefiles_mark_object_inactive() argument
263 struct dentry *dentry = object->dentry; in cachefiles_mark_object_inactive()
266 trace_cachefiles_mark_inactive(object, dentry, inode); in cachefiles_mark_object_inactive()
269 rb_erase(&object->active_node, &cache->active_nodes); in cachefiles_mark_object_inactive()
270 clear_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags); in cachefiles_mark_object_inactive()
273 wake_up_bit(&object->flags, CACHEFILES_OBJECT_ACTIVE); in cachefiles_mark_object_inactive()
291 struct cachefiles_object *object, in cachefiles_bury_object() argument
316 trace_cachefiles_unlink(object, rep, why); in cachefiles_bury_object()
418 trace_cachefiles_rename(object, rep, grave, why); in cachefiles_bury_object()
439 struct cachefiles_object *object) in cachefiles_delete_object() argument
444 _enter(",OBJ%x{%p}", object->fscache.debug_id, object->dentry); in cachefiles_delete_object()
446 ASSERT(object->dentry); in cachefiles_delete_object()
447 ASSERT(d_backing_inode(object->dentry)); in cachefiles_delete_object()
448 ASSERT(object->dentry->d_parent); in cachefiles_delete_object()
450 dir = dget_parent(object->dentry); in cachefiles_delete_object()
454 if (test_bit(FSCACHE_OBJECT_KILLED_BY_CACHE, &object->fscache.flags)) { in cachefiles_delete_object()
463 if (dir == object->dentry->d_parent) { in cachefiles_delete_object()
464 ret = cachefiles_bury_object(cache, object, dir, in cachefiles_delete_object()
465 object->dentry, false, in cachefiles_delete_object()
486 struct cachefiles_object *object, in cachefiles_walk_to_object() argument
500 object->fscache.debug_id, key); in cachefiles_walk_to_object()
537 trace_cachefiles_lookup(object, next, NULL); in cachefiles_walk_to_object()
542 trace_cachefiles_lookup(object, next, inode); in cachefiles_walk_to_object()
546 object->new = !inode; in cachefiles_walk_to_object()
552 fscache_object_lookup_negative(&object->fscache); in cachefiles_walk_to_object()
555 if (key || object->type == FSCACHE_COOKIE_TYPE_INDEX) { in cachefiles_walk_to_object()
570 trace_cachefiles_mkdir(object, next, ret); in cachefiles_walk_to_object()
605 trace_cachefiles_create(object, next, ret); in cachefiles_walk_to_object()
635 object->dentry = next; in cachefiles_walk_to_object()
639 if (!object->new) { in cachefiles_walk_to_object()
642 ret = cachefiles_check_object_xattr(object, auxdata); in cachefiles_walk_to_object()
646 object->dentry = NULL; in cachefiles_walk_to_object()
648 ret = cachefiles_bury_object(cache, object, dir, next, in cachefiles_walk_to_object()
658 fscache_object_retrying_stale(&object->fscache); in cachefiles_walk_to_object()
664 ret = cachefiles_mark_object_active(cache, object); in cachefiles_walk_to_object()
675 if (object->new) { in cachefiles_walk_to_object()
677 ret = cachefiles_set_object_xattr(object, auxdata); in cachefiles_walk_to_object()
690 if (object->type != FSCACHE_COOKIE_TYPE_INDEX) { in cachefiles_walk_to_object()
691 if (d_is_reg(object->dentry)) { in cachefiles_walk_to_object()
695 aops = d_backing_inode(object->dentry)->i_mapping->a_ops; in cachefiles_walk_to_object()
698 if (object->dentry->d_sb->s_blocksize > PAGE_SIZE) in cachefiles_walk_to_object()
701 object->backer = object->dentry; in cachefiles_walk_to_object()
707 object->new = 0; in cachefiles_walk_to_object()
708 fscache_obtained_object(&object->fscache); in cachefiles_walk_to_object()
710 _leave(" = 0 [%lu]", d_backing_inode(object->dentry)->i_ino); in cachefiles_walk_to_object()
714 fscache_object_mark_killed(&object->fscache, FSCACHE_OBJECT_NO_SPACE); in cachefiles_walk_to_object()
728 cache, object, d_backing_inode(object->dentry)->i_blocks); in cachefiles_walk_to_object()
730 dput(object->dentry); in cachefiles_walk_to_object()
731 object->dentry = NULL; in cachefiles_walk_to_object()
870 struct cachefiles_object *object; in cachefiles_check_active() local
907 object = rb_entry(_n, struct cachefiles_object, active_node); in cachefiles_check_active()
909 if (object->dentry > victim) in cachefiles_check_active()
911 else if (object->dentry < victim) in cachefiles_check_active()