From 04be60b5e4e03fd3d58f7f25b782240a45272fb0 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Wed, 14 Nov 2018 17:02:12 +0100 Subject: [PATCH] blk-cgroup: consolidate error handling in blkcg_init_queue Use a goto label to merge two identical pieces of error handling code. Reviewed-by: Hannes Reinecke Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe --- block/blk-cgroup.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index 3296c0b7353a..717ab38a6c67 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -1173,21 +1173,19 @@ int blkcg_init_queue(struct request_queue *q) radix_tree_preload_end(); ret = blk_iolatency_init(q); - if (ret) { - spin_lock_irq(q->queue_lock); - blkg_destroy_all(q); - spin_unlock_irq(q->queue_lock); - return ret; - } + if (ret) + goto err_destroy_all; ret = blk_throtl_init(q); - if (ret) { - spin_lock_irq(q->queue_lock); - blkg_destroy_all(q); - spin_unlock_irq(q->queue_lock); - } - return ret; + if (ret) + goto err_destroy_all; + return 0; +err_destroy_all: + spin_lock_irq(q->queue_lock); + blkg_destroy_all(q); + spin_unlock_irq(q->queue_lock); + return ret; err_unlock: spin_unlock_irq(q->queue_lock); rcu_read_unlock(); -- 2.30.2