Lines Matching defs:ioc
19 static void cfq_dtor(struct io_context *ioc)
21 if (!hlist_empty(&ioc->cic_list)) {
24 cic = list_entry(ioc->cic_list.first, struct cfq_io_context,
26 cic->dtor(ioc);
34 int put_io_context(struct io_context *ioc)
36 if (ioc == NULL)
39 BUG_ON(atomic_long_read(&ioc->refcount) == 0);
41 if (atomic_long_dec_and_test(&ioc->refcount)) {
43 cfq_dtor(ioc);
46 kmem_cache_free(iocontext_cachep, ioc);
53 static void cfq_exit(struct io_context *ioc)
57 if (!hlist_empty(&ioc->cic_list)) {
60 cic = list_entry(ioc->cic_list.first, struct cfq_io_context,
62 cic->exit(ioc);
70 struct io_context *ioc;
73 ioc = task->io_context;
77 if (atomic_dec_and_test(&ioc->nr_tasks)) {
78 cfq_exit(ioc);
81 put_io_context(ioc);
143 * Check for unlikely race with exiting task. ioc ref count is
144 * zero when ioc is being detached.