diff options
author | weiping zhang <zhangweiping@didichuxing.com> | 2017-08-18 12:37:20 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-08-23 17:35:54 -0400 |
commit | 37dcd6570f2e95364c26426d4110ba40c07df067 (patch) | |
tree | f8e42939f4e973d805307bcdecb6c5ee16c8849d /block/bfq-iosched.c | |
parent | 74d46992e0d9dee7f1f376de0d56d31614c8a17a (diff) |
block, bfq: fix error handle in bfq_init
if elv_register fail, bfq_pool should be free.
Signed-off-by: weiping zhang <zhangweiping@didichuxing.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/bfq-iosched.c')
-rw-r--r-- | block/bfq-iosched.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 509f39998011..ea2832b6698c 100644 --- a/block/bfq-iosched.c +++ b/block/bfq-iosched.c | |||
@@ -5062,10 +5062,12 @@ static int __init bfq_init(void) | |||
5062 | 5062 | ||
5063 | ret = elv_register(&iosched_bfq_mq); | 5063 | ret = elv_register(&iosched_bfq_mq); |
5064 | if (ret) | 5064 | if (ret) |
5065 | goto err_pol_unreg; | 5065 | goto slab_kill; |
5066 | 5066 | ||
5067 | return 0; | 5067 | return 0; |
5068 | 5068 | ||
5069 | slab_kill: | ||
5070 | bfq_slab_kill(); | ||
5069 | err_pol_unreg: | 5071 | err_pol_unreg: |
5070 | #ifdef CONFIG_BFQ_GROUP_IOSCHED | 5072 | #ifdef CONFIG_BFQ_GROUP_IOSCHED |
5071 | blkcg_policy_unregister(&blkcg_policy_bfq); | 5073 | blkcg_policy_unregister(&blkcg_policy_bfq); |