diff options
author | Jens Axboe <axboe@kernel.dk> | 2013-05-23 06:25:08 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2013-10-25 06:55:59 -0400 |
commit | 5953316dbf90067ebdeca626c34488bc166b73a8 (patch) | |
tree | 730871975e089bf4a53e8625ac8a5198fd678c8d | |
parent | c84a83e2aaab02a5ca64a982aa55342784934479 (diff) |
block: make rq->cmd_flags be 64-bit
We have officially run out of flags in a 32-bit space. Extend it
to 64-bit even on 32-bit archs.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | block/blk-core.c | 4 | ||||
-rw-r--r-- | drivers/block/floppy.c | 4 | ||||
-rw-r--r-- | drivers/scsi/sd.c | 2 | ||||
-rw-r--r-- | include/linux/blk_types.h | 66 | ||||
-rw-r--r-- | include/linux/blkdev.h | 4 |
5 files changed, 40 insertions, 40 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 0a00e4ecf87c..213e9f01c627 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -174,9 +174,9 @@ void blk_dump_rq_flags(struct request *rq, char *msg) | |||
174 | { | 174 | { |
175 | int bit; | 175 | int bit; |
176 | 176 | ||
177 | printk(KERN_INFO "%s: dev %s: type=%x, flags=%x\n", msg, | 177 | printk(KERN_INFO "%s: dev %s: type=%x, flags=%llx\n", msg, |
178 | rq->rq_disk ? rq->rq_disk->disk_name : "?", rq->cmd_type, | 178 | rq->rq_disk ? rq->rq_disk->disk_name : "?", rq->cmd_type, |
179 | rq->cmd_flags); | 179 | (unsigned long long) rq->cmd_flags); |
180 | 180 | ||
181 | printk(KERN_INFO " sector %llu, nr/cnr %u/%u\n", | 181 | printk(KERN_INFO " sector %llu, nr/cnr %u/%u\n", |
182 | (unsigned long long)blk_rq_pos(rq), | 182 | (unsigned long long)blk_rq_pos(rq), |
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index 04ceb7e2fadd..000abe2f105c 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c | |||
@@ -2886,9 +2886,9 @@ static void do_fd_request(struct request_queue *q) | |||
2886 | return; | 2886 | return; |
2887 | 2887 | ||
2888 | if (WARN(atomic_read(&usage_count) == 0, | 2888 | if (WARN(atomic_read(&usage_count) == 0, |
2889 | "warning: usage count=0, current_req=%p sect=%ld type=%x flags=%x\n", | 2889 | "warning: usage count=0, current_req=%p sect=%ld type=%x flags=%llx\n", |
2890 | current_req, (long)blk_rq_pos(current_req), current_req->cmd_type, | 2890 | current_req, (long)blk_rq_pos(current_req), current_req->cmd_type, |
2891 | current_req->cmd_flags)) | 2891 | (unsigned long long) current_req->cmd_flags)) |
2892 | return; | 2892 | return; |
2893 | 2893 | ||
2894 | if (test_and_set_bit(0, &fdc_busy)) { | 2894 | if (test_and_set_bit(0, &fdc_busy)) { |
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index e62d17d41d4e..dae6133a538d 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c | |||
@@ -1002,7 +1002,7 @@ static int sd_prep_fn(struct request_queue *q, struct request *rq) | |||
1002 | SCpnt->cmnd[0] = READ_6; | 1002 | SCpnt->cmnd[0] = READ_6; |
1003 | SCpnt->sc_data_direction = DMA_FROM_DEVICE; | 1003 | SCpnt->sc_data_direction = DMA_FROM_DEVICE; |
1004 | } else { | 1004 | } else { |
1005 | scmd_printk(KERN_ERR, SCpnt, "Unknown command %x\n", rq->cmd_flags); | 1005 | scmd_printk(KERN_ERR, SCpnt, "Unknown command %llx\n", (unsigned long long) rq->cmd_flags); |
1006 | goto out; | 1006 | goto out; |
1007 | } | 1007 | } |
1008 | 1008 | ||
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index fa1abeb45b76..c26801e14788 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h | |||
@@ -181,16 +181,16 @@ enum rq_flag_bits { | |||
181 | __REQ_NR_BITS, /* stops here */ | 181 | __REQ_NR_BITS, /* stops here */ |
182 | }; | 182 | }; |
183 | 183 | ||
184 | #define REQ_WRITE (1 << __REQ_WRITE) | 184 | #define REQ_WRITE (1ULL << __REQ_WRITE) |
185 | #define REQ_FAILFAST_DEV (1 << __REQ_FAILFAST_DEV) | 185 | #define REQ_FAILFAST_DEV (1ULL << __REQ_FAILFAST_DEV) |
186 | #define REQ_FAILFAST_TRANSPORT (1 << __REQ_FAILFAST_TRANSPORT) | 186 | #define REQ_FAILFAST_TRANSPORT (1ULL << __REQ_FAILFAST_TRANSPORT) |
187 | #define REQ_FAILFAST_DRIVER (1 << __REQ_FAILFAST_DRIVER) | 187 | #define REQ_FAILFAST_DRIVER (1ULL << __REQ_FAILFAST_DRIVER) |
188 | #define REQ_SYNC (1 << __REQ_SYNC) | 188 | #define REQ_SYNC (1ULL << __REQ_SYNC) |
189 | #define REQ_META (1 << __REQ_META) | 189 | #define REQ_META (1ULL << __REQ_META) |
190 | #define REQ_PRIO (1 << __REQ_PRIO) | 190 | #define REQ_PRIO (1ULL << __REQ_PRIO) |
191 | #define REQ_DISCARD (1 << __REQ_DISCARD) | 191 | #define REQ_DISCARD (1ULL << __REQ_DISCARD) |
192 | #define REQ_WRITE_SAME (1 << __REQ_WRITE_SAME) | 192 | #define REQ_WRITE_SAME (1ULL << __REQ_WRITE_SAME) |
193 | #define REQ_NOIDLE (1 << __REQ_NOIDLE) | 193 | #define REQ_NOIDLE (1ULL << __REQ_NOIDLE) |
194 | 194 | ||
195 | #define REQ_FAILFAST_MASK \ | 195 | #define REQ_FAILFAST_MASK \ |
196 | (REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER) | 196 | (REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER) |
@@ -206,28 +206,28 @@ enum rq_flag_bits { | |||
206 | #define REQ_NOMERGE_FLAGS \ | 206 | #define REQ_NOMERGE_FLAGS \ |
207 | (REQ_NOMERGE | REQ_STARTED | REQ_SOFTBARRIER | REQ_FLUSH | REQ_FUA) | 207 | (REQ_NOMERGE | REQ_STARTED | REQ_SOFTBARRIER | REQ_FLUSH | REQ_FUA) |
208 | 208 | ||
209 | #define REQ_RAHEAD (1 << __REQ_RAHEAD) | 209 | #define REQ_RAHEAD (1ULL << __REQ_RAHEAD) |
210 | #define REQ_THROTTLED (1 << __REQ_THROTTLED) | 210 | #define REQ_THROTTLED (1ULL << __REQ_THROTTLED) |
211 | 211 | ||
212 | #define REQ_SORTED (1 << __REQ_SORTED) | 212 | #define REQ_SORTED (1ULL << __REQ_SORTED) |
213 | #define REQ_SOFTBARRIER (1 << __REQ_SOFTBARRIER) | 213 | #define REQ_SOFTBARRIER (1ULL << __REQ_SOFTBARRIER) |
214 | #define REQ_FUA (1 << __REQ_FUA) | 214 | #define REQ_FUA (1ULL << __REQ_FUA) |
215 | #define REQ_NOMERGE (1 << __REQ_NOMERGE) | 215 | #define REQ_NOMERGE (1ULL << __REQ_NOMERGE) |
216 | #define REQ_STARTED (1 << __REQ_STARTED) | 216 | #define REQ_STARTED (1ULL << __REQ_STARTED) |
217 | #define REQ_DONTPREP (1 << __REQ_DONTPREP) | 217 | #define REQ_DONTPREP (1ULL << __REQ_DONTPREP) |
218 | #define REQ_QUEUED (1 << __REQ_QUEUED) | 218 | #define REQ_QUEUED (1ULL << __REQ_QUEUED) |
219 | #define REQ_ELVPRIV (1 << __REQ_ELVPRIV) | 219 | #define REQ_ELVPRIV (1ULL << __REQ_ELVPRIV) |
220 | #define REQ_FAILED (1 << __REQ_FAILED) | 220 | #define REQ_FAILED (1ULL << __REQ_FAILED) |
221 | #define REQ_QUIET (1 << __REQ_QUIET) | 221 | #define REQ_QUIET (1ULL << __REQ_QUIET) |
222 | #define REQ_PREEMPT (1 << __REQ_PREEMPT) | 222 | #define REQ_PREEMPT (1ULL << __REQ_PREEMPT) |
223 | #define REQ_ALLOCED (1 << __REQ_ALLOCED) | 223 | #define REQ_ALLOCED (1ULL << __REQ_ALLOCED) |
224 | #define REQ_COPY_USER (1 << __REQ_COPY_USER) | 224 | #define REQ_COPY_USER (1ULL << __REQ_COPY_USER) |
225 | #define REQ_FLUSH (1 << __REQ_FLUSH) | 225 | #define REQ_FLUSH (1ULL << __REQ_FLUSH) |
226 | #define REQ_FLUSH_SEQ (1 << __REQ_FLUSH_SEQ) | 226 | #define REQ_FLUSH_SEQ (1ULL << __REQ_FLUSH_SEQ) |
227 | #define REQ_IO_STAT (1 << __REQ_IO_STAT) | 227 | #define REQ_IO_STAT (1ULL << __REQ_IO_STAT) |
228 | #define REQ_MIXED_MERGE (1 << __REQ_MIXED_MERGE) | 228 | #define REQ_MIXED_MERGE (1ULL << __REQ_MIXED_MERGE) |
229 | #define REQ_SECURE (1 << __REQ_SECURE) | 229 | #define REQ_SECURE (1ULL << __REQ_SECURE) |
230 | #define REQ_KERNEL (1 << __REQ_KERNEL) | 230 | #define REQ_KERNEL (1ULL << __REQ_KERNEL) |
231 | #define REQ_PM (1 << __REQ_PM) | 231 | #define REQ_PM (1ULL << __REQ_PM) |
232 | 232 | ||
233 | #endif /* __LINUX_BLK_TYPES_H */ | 233 | #endif /* __LINUX_BLK_TYPES_H */ |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 0e6f765aa1f5..f5c7596c93dd 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -99,7 +99,7 @@ struct request { | |||
99 | 99 | ||
100 | struct request_queue *q; | 100 | struct request_queue *q; |
101 | 101 | ||
102 | unsigned int cmd_flags; | 102 | u64 cmd_flags; |
103 | enum rq_cmd_type_bits cmd_type; | 103 | enum rq_cmd_type_bits cmd_type; |
104 | unsigned long atomic_flags; | 104 | unsigned long atomic_flags; |
105 | 105 | ||
@@ -570,7 +570,7 @@ static inline void queue_flag_clear(unsigned int flag, struct request_queue *q) | |||
570 | 570 | ||
571 | #define list_entry_rq(ptr) list_entry((ptr), struct request, queuelist) | 571 | #define list_entry_rq(ptr) list_entry((ptr), struct request, queuelist) |
572 | 572 | ||
573 | #define rq_data_dir(rq) ((rq)->cmd_flags & 1) | 573 | #define rq_data_dir(rq) (((rq)->cmd_flags & 1) != 0) |
574 | 574 | ||
575 | static inline unsigned int blk_queue_cluster(struct request_queue *q) | 575 | static inline unsigned int blk_queue_cluster(struct request_queue *q) |
576 | { | 576 | { |