aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Kemeng Shi <shikemeng@huaweicloud.com> 2023-01-18 17:37:25 +0800
committerGravatar Jens Axboe <axboe@kernel.dk> 2023-02-06 09:22:29 -0700
commit27e8b2bb149aff7b7b673b46c7206f4f37c30093 (patch)
treef0946edf0e6a48d3e4b28cc394f3ff832312f311
parentblk-mq: remove set of bd->last when get driver tag for next request fails (diff)
downloadlinux-27e8b2bb149aff7b7b673b46c7206f4f37c30093.tar.gz
linux-27e8b2bb149aff7b7b673b46c7206f4f37c30093.tar.bz2
linux-27e8b2bb149aff7b7b673b46c7206f4f37c30093.zip
blk-mq: use switch/case to improve readability in blk_mq_try_issue_list_directly
Use switch/case handle error as other function do to improve readability in blk_mq_try_issue_list_directly. Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--block/blk-mq.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 002ed5547bd7..89b4dd81ae17 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2802,18 +2802,22 @@ void blk_mq_try_issue_list_directly(struct blk_mq_hw_ctx *hctx,
list_del_init(&rq->queuelist);
ret = blk_mq_request_issue_directly(rq, list_empty(list));
- if (ret != BLK_STS_OK) {
- if (ret == BLK_STS_RESOURCE ||
- ret == BLK_STS_DEV_RESOURCE) {
- blk_mq_request_bypass_insert(rq, false,
- list_empty(list));
- break;
- }
- blk_mq_end_request(rq, ret);
- } else
+ switch (ret) {
+ case BLK_STS_OK:
queued++;
+ break;
+ case BLK_STS_RESOURCE:
+ case BLK_STS_DEV_RESOURCE:
+ blk_mq_request_bypass_insert(rq, false,
+ list_empty(list));
+ goto out;
+ default:
+ blk_mq_end_request(rq, ret);
+ break;
+ }
}
+out:
if (ret != BLK_STS_OK)
blk_mq_commit_rqs(hctx, queued, false);
}