Commit 7edfd681 authored by Jinlong Chen's avatar Jinlong Chen Committed by Jens Axboe

blk-mq: improve error handling in blk_mq_alloc_rq_map()

Use goto-style error handling like we do elsewhere in the kernel.
Signed-off-by: default avatarJinlong Chen <nickyc975@zju.edu.cn>
Link: https://lore.kernel.org/r/bbbc2d9b17b137798c7fb92042141ca4cbbc58cc.1667356813.git.nickyc975@zju.edu.cnSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 98d81f0d
...@@ -3305,21 +3305,22 @@ static struct blk_mq_tags *blk_mq_alloc_rq_map(struct blk_mq_tag_set *set, ...@@ -3305,21 +3305,22 @@ static struct blk_mq_tags *blk_mq_alloc_rq_map(struct blk_mq_tag_set *set,
tags->rqs = kcalloc_node(nr_tags, sizeof(struct request *), tags->rqs = kcalloc_node(nr_tags, sizeof(struct request *),
GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY, GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY,
node); node);
if (!tags->rqs) { if (!tags->rqs)
blk_mq_free_tags(tags); goto err_free_tags;
return NULL;
}
tags->static_rqs = kcalloc_node(nr_tags, sizeof(struct request *), tags->static_rqs = kcalloc_node(nr_tags, sizeof(struct request *),
GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY, GFP_NOIO | __GFP_NOWARN | __GFP_NORETRY,
node); node);
if (!tags->static_rqs) { if (!tags->static_rqs)
kfree(tags->rqs); goto err_free_rqs;
blk_mq_free_tags(tags);
return NULL;
}
return tags; return tags;
err_free_rqs:
kfree(tags->rqs);
err_free_tags:
blk_mq_free_tags(tags);
return NULL;
} }
static int blk_mq_init_request(struct blk_mq_tag_set *set, struct request *rq, static int blk_mq_init_request(struct blk_mq_tag_set *set, struct request *rq,
......
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