diff options
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index f55b2a8b6610..5873037eeb91 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -871,6 +871,31 @@ struct request_queue *blk_alloc_queue(gfp_t); | |||
871 | struct request_queue *blk_alloc_queue_node(gfp_t, int); | 871 | struct request_queue *blk_alloc_queue_node(gfp_t, int); |
872 | extern void blk_put_queue(struct request_queue *); | 872 | extern void blk_put_queue(struct request_queue *); |
873 | 873 | ||
874 | struct blk_plug { | ||
875 | unsigned long magic; | ||
876 | struct list_head list; | ||
877 | unsigned int should_sort; | ||
878 | }; | ||
879 | |||
880 | extern void blk_start_plug(struct blk_plug *); | ||
881 | extern void blk_finish_plug(struct blk_plug *); | ||
882 | extern void __blk_flush_plug(struct task_struct *, struct blk_plug *); | ||
883 | |||
884 | static inline void blk_flush_plug(struct task_struct *tsk) | ||
885 | { | ||
886 | struct blk_plug *plug = tsk->plug; | ||
887 | |||
888 | if (unlikely(plug)) | ||
889 | __blk_flush_plug(tsk, plug); | ||
890 | } | ||
891 | |||
892 | static inline bool blk_needs_flush_plug(struct task_struct *tsk) | ||
893 | { | ||
894 | struct blk_plug *plug = tsk->plug; | ||
895 | |||
896 | return plug && !list_empty(&plug->list); | ||
897 | } | ||
898 | |||
874 | /* | 899 | /* |
875 | * tag stuff | 900 | * tag stuff |
876 | */ | 901 | */ |
@@ -1294,6 +1319,23 @@ static inline long nr_blockdev_pages(void) | |||
1294 | return 0; | 1319 | return 0; |
1295 | } | 1320 | } |
1296 | 1321 | ||
1322 | static inline void blk_start_plug(struct list_head *list) | ||
1323 | { | ||
1324 | } | ||
1325 | |||
1326 | static inline void blk_finish_plug(struct list_head *list) | ||
1327 | { | ||
1328 | } | ||
1329 | |||
1330 | static inline void blk_flush_plug(struct task_struct *tsk) | ||
1331 | { | ||
1332 | } | ||
1333 | |||
1334 | static inline bool blk_needs_flush_plug(struct task_struct *tsk) | ||
1335 | { | ||
1336 | return false; | ||
1337 | } | ||
1338 | |||
1297 | #endif /* CONFIG_BLOCK */ | 1339 | #endif /* CONFIG_BLOCK */ |
1298 | 1340 | ||
1299 | #endif | 1341 | #endif |