Commit 77e7ffd7 authored by Bart Van Assche's avatar Bart Van Assche Committed by Jens Axboe

block: Use enum req_op where appropriate

Change the type of the arguments that are used to pass a REQ_OP_* value
from int or unsigned int into enum req_op to improve static type
checking.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Damien Le Moal <damien.lemoal@wdc.com>
Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20220714180729.1065367-3-bvanassche@acm.orgSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ff07a02e
...@@ -136,7 +136,7 @@ static const char *const blk_op_name[] = { ...@@ -136,7 +136,7 @@ static const char *const blk_op_name[] = {
* string format. Useful in the debugging and tracing bio or request. For * string format. Useful in the debugging and tracing bio or request. For
* invalid REQ_OP_XXX it returns string "UNKNOWN". * invalid REQ_OP_XXX it returns string "UNKNOWN".
*/ */
inline const char *blk_op_str(unsigned int op) inline const char *blk_op_str(enum req_op op)
{ {
const char *op_str = "UNKNOWN"; const char *op_str = "UNKNOWN";
...@@ -953,7 +953,7 @@ void update_io_ticks(struct block_device *part, unsigned long now, bool end) ...@@ -953,7 +953,7 @@ void update_io_ticks(struct block_device *part, unsigned long now, bool end)
} }
unsigned long bdev_start_io_acct(struct block_device *bdev, unsigned long bdev_start_io_acct(struct block_device *bdev,
unsigned int sectors, unsigned int op, unsigned int sectors, enum req_op op,
unsigned long start_time) unsigned long start_time)
{ {
const int sgrp = op_stat_group(op); const int sgrp = op_stat_group(op);
...@@ -994,7 +994,7 @@ unsigned long bio_start_io_acct(struct bio *bio) ...@@ -994,7 +994,7 @@ unsigned long bio_start_io_acct(struct bio *bio)
} }
EXPORT_SYMBOL_GPL(bio_start_io_acct); EXPORT_SYMBOL_GPL(bio_start_io_acct);
void bdev_end_io_acct(struct block_device *bdev, unsigned int op, void bdev_end_io_acct(struct block_device *bdev, enum req_op op,
unsigned long start_time) unsigned long start_time)
{ {
const int sgrp = op_stat_group(op); const int sgrp = op_stat_group(op);
......
...@@ -304,7 +304,7 @@ static const char *blk_mq_rq_state_name(enum mq_rq_state rq_state) ...@@ -304,7 +304,7 @@ static const char *blk_mq_rq_state_name(enum mq_rq_state rq_state)
int __blk_mq_debugfs_rq_show(struct seq_file *m, struct request *rq) int __blk_mq_debugfs_rq_show(struct seq_file *m, struct request *rq)
{ {
const struct blk_mq_ops *const mq_ops = rq->q->mq_ops; const struct blk_mq_ops *const mq_ops = rq->q->mq_ops;
const unsigned int op = req_op(rq); const enum req_op op = req_op(rq);
const char *op_str = blk_op_str(op); const char *op_str = blk_op_str(op);
seq_printf(m, "%p {.op=", rq); seq_printf(m, "%p {.op=", rq);
......
...@@ -2203,8 +2203,9 @@ bool __blk_throtl_bio(struct bio *bio) ...@@ -2203,8 +2203,9 @@ bool __blk_throtl_bio(struct bio *bio)
#ifdef CONFIG_BLK_DEV_THROTTLING_LOW #ifdef CONFIG_BLK_DEV_THROTTLING_LOW
static void throtl_track_latency(struct throtl_data *td, sector_t size, static void throtl_track_latency(struct throtl_data *td, sector_t size,
int op, unsigned long time) enum req_op op, unsigned long time)
{ {
const bool rw = op_is_write(op);
struct latency_bucket *latency; struct latency_bucket *latency;
int index; int index;
...@@ -2215,10 +2216,10 @@ static void throtl_track_latency(struct throtl_data *td, sector_t size, ...@@ -2215,10 +2216,10 @@ static void throtl_track_latency(struct throtl_data *td, sector_t size,
index = request_bucket_index(size); index = request_bucket_index(size);
latency = get_cpu_ptr(td->latency_buckets[op]); latency = get_cpu_ptr(td->latency_buckets[rw]);
latency[index].total_latency += time; latency[index].total_latency += time;
latency[index].samples++; latency[index].samples++;
put_cpu_ptr(td->latency_buckets[op]); put_cpu_ptr(td->latency_buckets[rw]);
} }
void blk_throtl_stat_add(struct request *rq, u64 time_ns) void blk_throtl_stat_add(struct request *rq, u64 time_ns)
......
...@@ -670,7 +670,7 @@ u64 wbt_default_latency_nsec(struct request_queue *q) ...@@ -670,7 +670,7 @@ u64 wbt_default_latency_nsec(struct request_queue *q)
static int wbt_data_dir(const struct request *rq) static int wbt_data_dir(const struct request *rq)
{ {
const int op = req_op(rq); const enum req_op op = req_op(rq);
if (op == REQ_OP_READ) if (op == REQ_OP_READ)
return READ; return READ;
......
...@@ -160,7 +160,7 @@ static inline bool blk_discard_mergable(struct request *req) ...@@ -160,7 +160,7 @@ static inline bool blk_discard_mergable(struct request *req)
} }
static inline unsigned int blk_queue_get_max_sectors(struct request_queue *q, static inline unsigned int blk_queue_get_max_sectors(struct request_queue *q,
int op) enum req_op op)
{ {
if (unlikely(op == REQ_OP_DISCARD || op == REQ_OP_SECURE_ERASE)) if (unlikely(op == REQ_OP_DISCARD || op == REQ_OP_SECURE_ERASE))
return min(q->limits.max_discard_sectors, return min(q->limits.max_discard_sectors,
......
...@@ -522,7 +522,7 @@ static inline bool op_is_zone_mgmt(enum req_op op) ...@@ -522,7 +522,7 @@ static inline bool op_is_zone_mgmt(enum req_op op)
} }
} }
static inline int op_stat_group(unsigned int op) static inline int op_stat_group(enum req_op op)
{ {
if (op_is_discard(op)) if (op_is_discard(op))
return STAT_DISCARD; return STAT_DISCARD;
......
...@@ -872,7 +872,7 @@ extern void blk_queue_exit(struct request_queue *q); ...@@ -872,7 +872,7 @@ extern void blk_queue_exit(struct request_queue *q);
extern void blk_sync_queue(struct request_queue *q); extern void blk_sync_queue(struct request_queue *q);
/* Helper to convert REQ_OP_XXX to its string format XXX */ /* Helper to convert REQ_OP_XXX to its string format XXX */
extern const char *blk_op_str(unsigned int op); extern const char *blk_op_str(enum req_op op);
int blk_status_to_errno(blk_status_t status); int blk_status_to_errno(blk_status_t status);
blk_status_t errno_to_blk_status(int errno); blk_status_t errno_to_blk_status(int errno);
...@@ -1434,9 +1434,9 @@ static inline void blk_wake_io_task(struct task_struct *waiter) ...@@ -1434,9 +1434,9 @@ static inline void blk_wake_io_task(struct task_struct *waiter)
} }
unsigned long bdev_start_io_acct(struct block_device *bdev, unsigned long bdev_start_io_acct(struct block_device *bdev,
unsigned int sectors, unsigned int op, unsigned int sectors, enum req_op op,
unsigned long start_time); unsigned long start_time);
void bdev_end_io_acct(struct block_device *bdev, unsigned int op, void bdev_end_io_acct(struct block_device *bdev, enum req_op op,
unsigned long start_time); unsigned long start_time);
void bio_start_io_acct_time(struct bio *bio, unsigned long start_time); void bio_start_io_acct_time(struct bio *bio, unsigned long start_time);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment