Commit ae7e965b authored by Damien Le Moal's avatar Damien Le Moal Committed by Jens Axboe

dm: Refactor is_abnormal_io()

Use a single switch-case to simplify is_abnormal_io() and make this
function more readable and easier to modify.
Signed-off-by: default avatarDamien Le Moal <dlemoal@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20240704052816.623865-3-dlemoal@kernel.orgSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent f4d5dc33
...@@ -1598,20 +1598,18 @@ static void __send_abnormal_io(struct clone_info *ci, struct dm_target *ti, ...@@ -1598,20 +1598,18 @@ static void __send_abnormal_io(struct clone_info *ci, struct dm_target *ti,
static bool is_abnormal_io(struct bio *bio) static bool is_abnormal_io(struct bio *bio)
{ {
enum req_op op = bio_op(bio); switch (bio_op(bio)) {
case REQ_OP_READ:
if (op != REQ_OP_READ && op != REQ_OP_WRITE && op != REQ_OP_FLUSH) { case REQ_OP_WRITE:
switch (op) { case REQ_OP_FLUSH:
case REQ_OP_DISCARD: return false;
case REQ_OP_SECURE_ERASE: case REQ_OP_DISCARD:
case REQ_OP_WRITE_ZEROES: case REQ_OP_SECURE_ERASE:
return true; case REQ_OP_WRITE_ZEROES:
default: return true;
break; default:
} return false;
} }
return false;
} }
static blk_status_t __process_abnormal_io(struct clone_info *ci, static blk_status_t __process_abnormal_io(struct clone_info *ci,
......
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