diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/blkdev.h | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 6d7e9afd08c3..12bb426949e9 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -99,25 +99,26 @@ struct request { | |||
99 | /* | 99 | /* |
100 | * The rb_node is only used inside the io scheduler, requests | 100 | * The rb_node is only used inside the io scheduler, requests |
101 | * are pruned when moved to the dispatch queue. So let the | 101 | * are pruned when moved to the dispatch queue. So let the |
102 | * flush fields share space with the rb_node. | 102 | * completion_data share space with the rb_node. |
103 | */ | 103 | */ |
104 | union { | 104 | union { |
105 | struct rb_node rb_node; /* sort/lookup */ | 105 | struct rb_node rb_node; /* sort/lookup */ |
106 | struct { | 106 | void *completion_data; |
107 | unsigned int seq; | ||
108 | struct list_head list; | ||
109 | } flush; | ||
110 | }; | 107 | }; |
111 | 108 | ||
112 | void *completion_data; | ||
113 | |||
114 | /* | 109 | /* |
115 | * Three pointers are available for the IO schedulers, if they need | 110 | * Three pointers are available for the IO schedulers, if they need |
116 | * more they have to dynamically allocate it. | 111 | * more they have to dynamically allocate it. Flush requests are |
112 | * never put on the IO scheduler. So let the flush fields share | ||
113 | * space with the three elevator_private pointers. | ||
117 | */ | 114 | */ |
118 | void *elevator_private; | 115 | union { |
119 | void *elevator_private2; | 116 | void *elevator_private[3]; |
120 | void *elevator_private3; | 117 | struct { |
118 | unsigned int seq; | ||
119 | struct list_head list; | ||
120 | } flush; | ||
121 | }; | ||
121 | 122 | ||
122 | struct gendisk *rq_disk; | 123 | struct gendisk *rq_disk; |
123 | unsigned long start_time; | 124 | unsigned long start_time; |