block: Convert fifo_time from ulong to u64
Currently rq->fifo_time is unsigned long but CFQ stores nanosecond
timestamp in it which would overflow on 32-bit archs. Convert it to u64
to avoid the overflow. Since the rq->fifo_time is unioned with struct
call_single_data(), this does not change the size of struct request in
any way.
We have to slightly fixup block/deadline-iosched.c so that comparison
happens in the right types.
Fixes: 9a7f38c42c
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
59a37f8bae
commit
9828c2c6c1
2 changed files with 4 additions and 3 deletions
|
|
@ -90,7 +90,7 @@ struct request {
|
|||
struct list_head queuelist;
|
||||
union {
|
||||
struct call_single_data csd;
|
||||
unsigned long fifo_time;
|
||||
u64 fifo_time;
|
||||
};
|
||||
|
||||
struct request_queue *q;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue