diff options
author | Jens Axboe <axboe@suse.de> | 2006-08-10 03:01:02 -0400 |
---|---|---|
committer | Jens Axboe <axboe@nelson.home.kernel.dk> | 2006-09-30 14:29:42 -0400 |
commit | 5404bc7a87b9949cf61e0174b21f80e73239ab25 (patch) | |
tree | 230c799aef2dcad8c64da55114508d28d2b30183 /include/linux/blkdev.h | |
parent | da20a20f3b5c175648fa797c899dd577e4dacb51 (diff) |
[PATCH] Allow file systems to differentiate between data and meta reads
We can use this information for making more intelligent priority
decisions, and it will also be useful for blktrace.
Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 5d8e288db163..2c01a90998a7 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -180,6 +180,7 @@ enum rq_flag_bits { | |||
180 | __REQ_ORDERED_COLOR, /* is before or after barrier */ | 180 | __REQ_ORDERED_COLOR, /* is before or after barrier */ |
181 | __REQ_RW_SYNC, /* request is sync (O_DIRECT) */ | 181 | __REQ_RW_SYNC, /* request is sync (O_DIRECT) */ |
182 | __REQ_ALLOCED, /* request came from our alloc pool */ | 182 | __REQ_ALLOCED, /* request came from our alloc pool */ |
183 | __REQ_RW_META, /* metadata io request */ | ||
183 | __REQ_NR_BITS, /* stops here */ | 184 | __REQ_NR_BITS, /* stops here */ |
184 | }; | 185 | }; |
185 | 186 | ||
@@ -200,6 +201,7 @@ enum rq_flag_bits { | |||
200 | #define REQ_ORDERED_COLOR (1 << __REQ_ORDERED_COLOR) | 201 | #define REQ_ORDERED_COLOR (1 << __REQ_ORDERED_COLOR) |
201 | #define REQ_RW_SYNC (1 << __REQ_RW_SYNC) | 202 | #define REQ_RW_SYNC (1 << __REQ_RW_SYNC) |
202 | #define REQ_ALLOCED (1 << __REQ_ALLOCED) | 203 | #define REQ_ALLOCED (1 << __REQ_ALLOCED) |
204 | #define REQ_RW_META (1 << __REQ_RW_META) | ||
203 | 205 | ||
204 | #define BLK_MAX_CDB 16 | 206 | #define BLK_MAX_CDB 16 |
205 | 207 | ||
@@ -543,6 +545,7 @@ enum { | |||
543 | * We regard a request as sync, if it's a READ or a SYNC write. | 545 | * We regard a request as sync, if it's a READ or a SYNC write. |
544 | */ | 546 | */ |
545 | #define rq_is_sync(rq) (rq_data_dir((rq)) == READ || (rq)->cmd_flags & REQ_RW_SYNC) | 547 | #define rq_is_sync(rq) (rq_data_dir((rq)) == READ || (rq)->cmd_flags & REQ_RW_SYNC) |
548 | #define rq_is_meta(rq) ((rq)->cmd_flags & REQ_RW_META) | ||
546 | 549 | ||
547 | static inline int blk_queue_full(struct request_queue *q, int rw) | 550 | static inline int blk_queue_full(struct request_queue *q, int rw) |
548 | { | 551 | { |