diff options
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 36ab42c9bb99..6d7e9afd08c3 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -99,13 +99,18 @@ 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 | * completion_data share space with the rb_node. | 102 | * flush fields 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 | void *completion_data; | 106 | struct { |
107 | unsigned int seq; | ||
108 | struct list_head list; | ||
109 | } flush; | ||
107 | }; | 110 | }; |
108 | 111 | ||
112 | void *completion_data; | ||
113 | |||
109 | /* | 114 | /* |
110 | * Three pointers are available for the IO schedulers, if they need | 115 | * Three pointers are available for the IO schedulers, if they need |
111 | * more they have to dynamically allocate it. | 116 | * more they have to dynamically allocate it. |
@@ -362,11 +367,12 @@ struct request_queue | |||
362 | * for flush operations | 367 | * for flush operations |
363 | */ | 368 | */ |
364 | unsigned int flush_flags; | 369 | unsigned int flush_flags; |
365 | unsigned int flush_seq; | 370 | unsigned int flush_pending_idx:1; |
366 | int flush_err; | 371 | unsigned int flush_running_idx:1; |
372 | unsigned long flush_pending_since; | ||
373 | struct list_head flush_queue[2]; | ||
374 | struct list_head flush_data_in_flight; | ||
367 | struct request flush_rq; | 375 | struct request flush_rq; |
368 | struct request *orig_flush_rq; | ||
369 | struct list_head pending_flushes; | ||
370 | 376 | ||
371 | struct mutex sysfs_lock; | 377 | struct mutex sysfs_lock; |
372 | 378 | ||