diff options
author | Damien Le Moal <dlemoal@kernel.org> | 2024-07-04 14:28:13 +0900 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2024-07-05 00:42:04 -0600 |
commit | ae7e965b36e3132238d16b4ccd223f65162397b5 (patch) | |
tree | a4f0c627687aba55e6fc196673418078a5d11c08 /drivers/md | |
parent | f4d5dc33c823ef1d7ccbbd2d1e40b871fad0012b (diff) | |
download | lwn-ae7e965b36e3132238d16b4ccd223f65162397b5.tar.gz lwn-ae7e965b36e3132238d16b4ccd223f65162397b5.zip |
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: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Link: https://lore.kernel.org/r/20240704052816.623865-3-dlemoal@kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/md')
-rw-r--r-- | drivers/md/dm.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 7d107ae06e1a..0d80caccbd9e 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -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) { - enum req_op op = bio_op(bio); - - if (op != REQ_OP_READ && op != REQ_OP_WRITE && op != REQ_OP_FLUSH) { - switch (op) { - case REQ_OP_DISCARD: - case REQ_OP_SECURE_ERASE: - case REQ_OP_WRITE_ZEROES: - return true; - default: - break; - } + switch (bio_op(bio)) { + case REQ_OP_READ: + case REQ_OP_WRITE: + case REQ_OP_FLUSH: + return false; + case REQ_OP_DISCARD: + case REQ_OP_SECURE_ERASE: + case REQ_OP_WRITE_ZEROES: + return true; + default: + return false; } - - return false; } static blk_status_t __process_abnormal_io(struct clone_info *ci, |