From: weiping zhang <zhangweiping@didichuxing.com>
Date: Sat, 19 Aug 2017 00:37:20 +0800
Subject: [PATCH] block, bfq: fix error handle in bfq_init
Git-commit: 37dcd6570f2e95364c26426d4110ba40c07df067
Patch-mainline: v4.14-rc1
References: bsc#1104967,FATE#325924
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>
Acked-by: Hannes Reinecke <hare@suse.com>
---
block/bfq-iosched.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
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)
ret = elv_register(&iosched_bfq_mq);
if (ret)
- goto err_pol_unreg;
+ goto slab_kill;
return 0;
+slab_kill:
+ bfq_slab_kill();
err_pol_unreg:
#ifdef CONFIG_BFQ_GROUP_IOSCHED
blkcg_policy_unregister(&blkcg_policy_bfq);
--
2.16.4