Lines Matching refs:object
31 void __cachefiles_printk_object(struct cachefiles_object *object, in __cachefiles_printk_object() argument
38 pr_err("%sobject: OBJ%x\n", prefix, object->fscache.debug_id); in __cachefiles_printk_object()
40 prefix, object->fscache.state->name, in __cachefiles_printk_object()
41 object->fscache.flags, work_busy(&object->fscache.work), in __cachefiles_printk_object()
42 object->fscache.events, object->fscache.event_mask); in __cachefiles_printk_object()
44 prefix, object->fscache.n_ops, object->fscache.n_in_progress, in __cachefiles_printk_object()
45 object->fscache.n_exclusive); in __cachefiles_printk_object()
47 prefix, object->fscache.parent); in __cachefiles_printk_object()
49 spin_lock(&object->fscache.lock); in __cachefiles_printk_object()
50 cookie = object->fscache.cookie; in __cachefiles_printk_object()
54 object->fscache.cookie, in __cachefiles_printk_object()
55 object->fscache.cookie->parent, in __cachefiles_printk_object()
56 object->fscache.cookie->netfs_data, in __cachefiles_printk_object()
57 object->fscache.cookie->flags); in __cachefiles_printk_object()
67 spin_unlock(&object->fscache.lock); in __cachefiles_printk_object()
80 static noinline void cachefiles_printk_object(struct cachefiles_object *object, in cachefiles_printk_object() argument
86 if (object) in cachefiles_printk_object()
87 __cachefiles_printk_object(object, "", keybuf); in cachefiles_printk_object()
102 struct cachefiles_object *object; in cachefiles_mark_object_buried() local
111 object = rb_entry(p, struct cachefiles_object, active_node); in cachefiles_mark_object_buried()
112 if (object->dentry > dentry) in cachefiles_mark_object_buried()
114 else if (object->dentry < dentry) in cachefiles_mark_object_buried()
127 object->fscache.debug_id, in cachefiles_mark_object_buried()
128 object->fscache.state->name, in cachefiles_mark_object_buried()
131 if (fscache_object_is_live(&object->fscache)) { in cachefiles_mark_object_buried()
134 cachefiles_printk_object(object, NULL); in cachefiles_mark_object_buried()
135 } else if (test_and_set_bit(CACHEFILES_OBJECT_BURIED, &object->flags)) { in cachefiles_mark_object_buried()
147 struct cachefiles_object *object) in cachefiles_mark_object_active() argument
153 _enter(",%p", object); in cachefiles_mark_object_active()
158 if (test_and_set_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags)) { in cachefiles_mark_object_active()
160 cachefiles_printk_object(object, NULL); in cachefiles_mark_object_active()
164 dentry = object->dentry; in cachefiles_mark_object_active()
171 ASSERT(xobject != object); in cachefiles_mark_object_active()
181 rb_link_node(&object->active_node, _parent, _p); in cachefiles_mark_object_active()
182 rb_insert_color(&object->active_node, &cache->active_nodes); in cachefiles_mark_object_active()
194 cachefiles_printk_object(object, xobject); in cachefiles_mark_object_active()
211 object->fscache.debug_id, in cachefiles_mark_object_active()
233 object->fscache.debug_id, in cachefiles_mark_object_active()
241 cachefiles_printk_object(object, xobject); in cachefiles_mark_object_active()
252 clear_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags); in cachefiles_mark_object_active()
410 struct cachefiles_object *object) in cachefiles_delete_object() argument
415 _enter(",OBJ%x{%p}", object->fscache.debug_id, object->dentry); in cachefiles_delete_object()
417 ASSERT(object->dentry); in cachefiles_delete_object()
418 ASSERT(d_backing_inode(object->dentry)); in cachefiles_delete_object()
419 ASSERT(object->dentry->d_parent); in cachefiles_delete_object()
421 dir = dget_parent(object->dentry); in cachefiles_delete_object()
425 if (test_bit(CACHEFILES_OBJECT_BURIED, &object->flags)) { in cachefiles_delete_object()
434 if (dir == object->dentry->d_parent) { in cachefiles_delete_object()
436 object->dentry, false); in cachefiles_delete_object()
456 struct cachefiles_object *object, in cachefiles_walk_to_object() argument
469 object->fscache.debug_id, key); in cachefiles_walk_to_object()
511 object->new = !d_backing_inode(next); in cachefiles_walk_to_object()
517 fscache_object_lookup_negative(&object->fscache); in cachefiles_walk_to_object()
520 if (key || object->type == FSCACHE_COOKIE_TYPE_INDEX) { in cachefiles_walk_to_object()
592 object->dentry = next; in cachefiles_walk_to_object()
596 if (!object->new) { in cachefiles_walk_to_object()
599 ret = cachefiles_check_object_xattr(object, auxdata); in cachefiles_walk_to_object()
603 object->dentry = NULL; in cachefiles_walk_to_object()
618 ret = cachefiles_mark_object_active(cache, object); in cachefiles_walk_to_object()
629 if (object->new) { in cachefiles_walk_to_object()
631 ret = cachefiles_set_object_xattr(object, auxdata); in cachefiles_walk_to_object()
644 if (object->type != FSCACHE_COOKIE_TYPE_INDEX) { in cachefiles_walk_to_object()
645 if (d_is_reg(object->dentry)) { in cachefiles_walk_to_object()
649 aops = d_backing_inode(object->dentry)->i_mapping->a_ops; in cachefiles_walk_to_object()
653 object->backer = object->dentry; in cachefiles_walk_to_object()
659 object->new = 0; in cachefiles_walk_to_object()
660 fscache_obtained_object(&object->fscache); in cachefiles_walk_to_object()
662 _leave(" = 0 [%lu]", d_backing_inode(object->dentry)->i_ino); in cachefiles_walk_to_object()
678 rb_erase(&object->active_node, &cache->active_nodes); in cachefiles_walk_to_object()
679 clear_bit(CACHEFILES_OBJECT_ACTIVE, &object->flags); in cachefiles_walk_to_object()
680 wake_up_bit(&object->flags, CACHEFILES_OBJECT_ACTIVE); in cachefiles_walk_to_object()
683 dput(object->dentry); in cachefiles_walk_to_object()
684 object->dentry = NULL; in cachefiles_walk_to_object()
820 struct cachefiles_object *object; in cachefiles_check_active() local
857 object = rb_entry(_n, struct cachefiles_object, active_node); in cachefiles_check_active()
859 if (object->dentry > victim) in cachefiles_check_active()
861 else if (object->dentry < victim) in cachefiles_check_active()