/* initiate the process of looking up all the objects in the chain
* (done by fscache_initialise_object()) */
- fscache_enqueue_object(object);
+ fscache_raise_event(object, FSCACHE_OBJECT_EV_NEW_CHILD);
spin_unlock(&cookie->lock);
{
struct fscache_cache *cache;
struct fscache_object *object;
- unsigned long event;
fscache_stat(&fscache_n_relinquishes);
if (retire)
fscache_wait_bit, TASK_UNINTERRUPTIBLE);
}
- event = retire ? FSCACHE_OBJECT_EV_RETIRE : FSCACHE_OBJECT_EV_RELEASE;
-
try_again:
spin_lock(&cookie->lock);
cache = object->cache;
object->cookie = NULL;
- fscache_raise_event(object, event);
+ if (retire)
+ set_bit(FSCACHE_OBJECT_RETIRE, &object->flags);
+ fscache_raise_event(object, FSCACHE_OBJECT_EV_KILL);
spin_unlock(&object->lock);
if (atomic_dec_and_test(&cookie->usage))