aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/iocontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/iocontext.h')
-rw-r--r--include/linux/iocontext.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h
index d15ca6591f96..ac390a34c0e7 100644
--- a/include/linux/iocontext.h
+++ b/include/linux/iocontext.h
@@ -14,14 +14,22 @@ struct io_cq {
14 struct request_queue *q; 14 struct request_queue *q;
15 struct io_context *ioc; 15 struct io_context *ioc;
16 16
17 struct list_head q_node; 17 /*
18 struct hlist_node ioc_node; 18 * q_node and ioc_node link io_cq through icq_list of q and ioc
19 * respectively. Both fields are unused once ioc_exit_icq() is
20 * called and shared with __rcu_icq_cache and __rcu_head which are
21 * used for RCU free of io_cq.
22 */
23 union {
24 struct list_head q_node;
25 struct kmem_cache *__rcu_icq_cache;
26 };
27 union {
28 struct hlist_node ioc_node;
29 struct rcu_head __rcu_head;
30 };
19 31
20 unsigned long changed; 32 unsigned long changed;
21 struct rcu_head rcu_head;
22
23 void (*exit)(struct io_cq *);
24 void (*release)(struct io_cq *);
25}; 33};
26 34
27/* 35/*